【发布时间】:2017-02-15 16:07:09
【问题描述】:
我有一个 dataGridView1,用户可以向其中输入信息,然后通过单击按钮 3,我希望他搜索他在 textBox3 中键入的任何内容,并获得一个消息框,说明是否在 datagridview 中找到了字符串。
这是我的代码
private void button3_Click(object sender, EventArgs e)
{
bool j = false;
foreach (DataGridViewRow rows in dataGridView1.Rows)
{
for (int i = 1; i < rows.Cells.Count; i++)
{
if(j == false)
{
if (textBox3.Text == rows.Cells[i].Value.ToString())
{
j = true;
}
}
else
{
break;
}
}
}
if (j == true)
{
MessageBox.Show("It exists!");
}
else
{
MessageBox.Show("It doesn't exist!!");
}
}
【问题讨论】:
-
我按下button3时出错!
-
针对您作为答案发布的问题:您必须在对其执行 ToString() 之前检查 Cells[i].Value 是否为空。 ToString() 不能处理空值。
-
另外,只是因为挑剔,您可能不想使用 j 作为布尔变量的名称。人们经常使用 j 作为 int 来遍历集合,它看起来很奇怪。将找到或存在更好的名称。
标签: c#