c# - DataGridView:对象引用未设置为对象的实例
问题描述
我有一个文本框,通过该文本框搜索 a 的"Name"
列,datagridview
但在运行时抛出异常Object reference not set to an instance of an object
private void textBox1_TextChanged(object sender, EventArgs e)
{
string searchstring = textBox1.Text;
try
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[1].Value.ToString().Contains(searchstring))
{
Do something
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
解决方案
使用前检查状况foreach
选项1:
for(int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
if (dataGridView1.Rows.Rows[i].Cells[j].Value != null)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[0].Value.ToString().Contains(searchstring))
{
//Do something
}
}
}
}
}
选项 2:
if (dataGridView1.Rows.Count > 0)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[0].Value.ToString().Contains(searchstring))
{
//Do something
}
}
}
推荐阅读
- python - 我怎样才能刮掉所有 1000 部小说?,我的代码只刮了 691
- php - 如何访问文件
- sql - PostgreSQL unnest(array_agg(x))
- python - 将函数绑定到 python 中的键。使用 GUI
- python - VS Code 中的 Python 自动补全
- javascript - 如何在循环内以编程方式命名 1000 个文本框
- asp.net-core - 使用 .NET Core 3.x 的 MvcOptions.Conventions
- javascript - 滑块下同一位置的值
- f# - 使用 acceptJson 时,土星 API 没有响应 GET
- java - 缺少 Stackdriver Spring Boot 有效密钥