C# 按单元格设置选定行datagridview';s值

C# 按单元格设置选定行datagridview';s值,c#,winforms,C#,Winforms,如何通过字符串设置dataGridView上的选定行 例如 加载表单时…我希望选择单元格为“LSN”的dataGridView 所以如果我有一个string text=“LSN” 然后选择单元格值为“LSN”的表行 我通常使用dataGridView1.Rows[3].Selected=true设置datagridview中的选定行 但是,如果我不知道行的索引,只知道一个字符串,我怎么做呢?可能是Linq dataGridView1.Rows dataGridView1.Rows.Cast(

如何通过字符串设置
dataGridView
上的选定行

例如

加载表单时…我希望选择单元格为“LSN”的
dataGridView

所以如果我有一个
string text=“LSN”

然后选择单元格值为“LSN”的表行

我通常使用
dataGridView1.Rows[3].Selected=true设置datagridview中的选定行

但是,如果我不知道行的索引,只知道一个字符串,我怎么做呢?

可能是Linq

dataGridView1.Rows

dataGridView1.Rows.Cast().Where(x=>x.Kode==“LSN”).FirstorDefault()

林克:也许吧

dataGridView1.Rows

dataGridView1.Rows.Cast().Where(x=>x.Kode==“LSN”).FirstorDefault()


您必须遍历DataGridView的每一行,直到找到所需的值。然后可以选择该行并中断循环

foreach(DataGridViewRow row in dataGridView1.Rows)
{
    // 0 is the column index
    if (row.Cells[0].Value.ToString().Equals("LSN"))
    {
        row.Selected = true;
        break;
    }
}

我还没有测试过这个示例,但它应该给您提供正确的想法。

您必须遍历DataGridView的每一行,直到找到所需的值。然后可以选择该行并中断循环

foreach(DataGridViewRow row in dataGridView1.Rows)
{
    // 0 is the column index
    if (row.Cells[0].Value.ToString().Equals("LSN"))
    {
        row.Selected = true;
        break;
    }
}

我还没有测试过这个例子,但它应该给你一个正确的想法。

请尝试下面的代码

string txtSearchValue="LSN";
int rowIndex = -1; 

DataGridViewRow row = dgv.Rows.Cast<DataGridViewRow>()
    .Where(r=>r.Cells["SystemId"].Value.ToString().Equals(txtSearchValue))
    .First();
rowIndex = row.Index; 

dataGridView1.Rows[rowIndex].Selected = true;

请尝试下面的代码

string txtSearchValue="LSN";
int rowIndex = -1; 

DataGridViewRow row = dgv.Rows.Cast<DataGridViewRow>()
    .Where(r=>r.Cells["SystemId"].Value.ToString().Equals(txtSearchValue))
    .First();
rowIndex = row.Index; 

dataGridView1.Rows[rowIndex].Selected = true;