将DataGridView中的单个单元格作为字符串读取

时间:2015-03-25 04:21:34

标签: c# datagridview datagridviewtextboxcell

我正在读取DataGridView中的所有单元格,但是在每个单元格中,我想将单元格的前3个元素作为字符串进行比较,如果它们匹配则将其转换为空白单元格

到目前为止,我已尝试过这个

 for (int z = 0; z < dataGridView7.Rows.Count; z++)
 {
     for (int i = 0; i < dataGridView7.Columns.Count; i++)
     {
          string caixa = dataGridView7[z, i].Value.ToString(); //problem right here
          string caixaselecta = caixa.Substring(0, 3);

          if (caixaselecta == "0 *")
          {
              dataGridView7[z, i].Value = "";
          }
    }
}

for周期正确完成,匹配也是如此。我认为问题在于识别当前正在分析的细胞,并将其转换为字符串。

我尝试过类似的方法来访问当前单元格,但是我收到错误,或者字符串caixa未正确定义。

任何提示?

1 个答案:

答案 0 :(得分:0)

您正在以错误的顺序指定索引。 DataGridView索引器定义为

public DataGridViewCell this[
    int columnIndex,
    int rowIndex
] { get; set; }

- 来自MSDN documentation

所以你需要在索引器中交换z和i。

for (int z = 0; z < dataGridView7.Rows.Count; z++)
{
    for (int i = 0; i < dataGridView7.Columns.Count; i++)
    {
        string caixa = dataGridView7[i, z].Value.ToString();
        ....
        ....
        ....
    }
}