如何在比较值后得到Cell索引,例如我有这个
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (dataGridView1.Rows[i].Cells[value].Value.ToString() == radTextBox1.Text)
{
//If the value matches how to get the row index of that
}
}
答案 0 :(得分:2)
这可能会起到作用:
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (dataGridView1.Rows[i].Cells[0].Value.ToString() == radTextBox1.Text)
{
dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];
}
}
答案 1 :(得分:0)
你找到了你正在寻找的那条行。 这是我代码中的变量。
var requiredRowIndex = -1;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (dataGridView1.Rows[i].Cells[value].Value.ToString() == radTextBox1.Text)
{
requiredRowIndex = i;
break;
}
}
if (requiredRowIndex != -1)
{
// It was found.
}
else
{
// It was not found.
}
你没有告诉我们value
是什么?这是你正在寻找的Cell的实际指数。
答案 2 :(得分:0)
如果您想在任何单元格中找到该值,则需要使用嵌套循环。
dataGridView1.ClearSelection();
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int c = 0; c < dataGridView1.Columns.Count; c++)
{
if (dataGridView1.Rows[i].Cells[c].Value.ToString() == radtextBox1.Text)
{
dataGridView1.Rows[i].Selected = true;
}
}
}
这会在检查值的所有列时移动每一行,并且会在单元格具有该值的任何行中进行处理。请注意,此代码区分大小写,因此&#34; City&#34; &LT;&GT; &#34;城市&#34;但是可以根据需要使用.ToUpper或.ToLower轻松修复。
要添加的另一件事,此代码也基于将AllowUserToAddRows设置为false的DGV。如果您需要编辑行,则需要从行循环中的计数中选择-1,或者检查以确保.IsNewRow的当前行为false。