我有这个代码用于在datagridview中搜索特定的列名或列号:
string str = kartSearchTxt.Text;
string value = "";
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
value = dataGridView1.Rows[i].Cells[3].Value.ToString();
if (value.Contains(str) == false)
{
dataGridView1.Rows.RemoveAt(i);
i--;
}
}
}
我尝试了不同的解决方案,例如使用&#34; 2 for循环&#34;用于搜索列,但它没有工作。
如何搜索多列?
答案 0 :(得分:0)
像这样使用循环
for (int i = dataGridView1.Rows.Count - 1; i >= 0; i--)
{
foreach (DataGridViewColumn column in dataGridView1.Columns)
{
if (!column.Visible || column.DisplayIndex < 0)
continue;
value = dataGridView1.Rows[i].Cells[column.DisplayIndex].Value.ToString();
if (value.Contains(str) == false)
{
dataGridView1.Rows.RemoveAt(i);
}
}
}
因为当您从网格中删除行时,dataGridView1.Rows
会获取新值