2015-08-18 44 views
0

当我搜索此问题时,我找不到任何内容,因为我不知道如何将其写入。在任何单元格中将字符串值与datagridview行0进行比较

我有一个从excel文件中获取值的dataGridView。这工作正常,但我想比较行0中的所有值与字符串值。

这里是我的代码有

string mat = "test"; 
if(mat == dataGridView1[0,0].Value.ToString()) 
     { 
      tst.Text = dataGridView1[1,0].Value.ToString(); 
     } 

这仅适用于在第一项中的细胞。我需要扫描所有值。我会认为它会是这样的:

string mat = "test"; 
int x = ???; 
if(mat == dataGridView1[0,x].Value.ToString()) 
     { 
      tst.Text = dataGridView1[1,x].Value.ToString(); 
     } 

这让我疯狂,因为它是如此简单的事情,我知道必须是可能的。否则,我将不得不复制并粘贴x等于1,2,3等等,因为表格中有很多值。

任何建议将不胜感激。

回答

1

你可以把你在一个循环

string mat = "test"; 
for(int i=0;i<dataGridView1.Rows[0].Cells.Count;i++){ 
     if(dataGridView1[0,i].Value != null && mat == dataGridView1[0,i].Value.ToString()) 
     { 
      tst.Text = dataGridView1[1,i].Value.ToString(); 
     } 
} 

我强烈remcommend您阅读本article

+0

为什么你的循环下去,直到我<10 verrification? – varocarbas

+0

我只是拿了一个随机数 – litelite

+0

为什么不使用实际变量(列数/单元格数)? – varocarbas

1
if(dataGridView1 != null) 
{ 
    foreach (DataGridViewCell cell in dataGridView1.Rows[0].Cells) 
    { 
     if (cell.Value != null && cell.Value.Equals("test")) 
     { 
      tst.Text = cell.Value; 
     } 
    } 
} 
+0

他说只为第一行... – litelite

相关问题