Visual C#2005中的问题在Dataview中查找并选择要突出显示的行

Visual C#2005中的问题在Dataview中查找并选择要突出显示的行,c#,winforms,datatable,visual-studio-2005,dataview,C#,Winforms,Datatable,Visual Studio 2005,Dataview,我有一个数据表,其中填充了不同的行,每个行都有几列(即ID、名称、描述..) 我正在尝试实现一个搜索按钮,其中用户通过组合框(如ID或名称)选择一列,并在文本框中键入其请求的搜索,单击“搜索”按钮后,我希望在屏幕上选择并突出显示他们正在查找的行,而无需使用表,因为键会将所有内容保持在表最初填充的顺序中。另一个注意事项是,我希望所有项目仍然可见,所以我不打算使用.rowfilter,因为它已经在Separate按钮中实现。 我已经找到了如何通过索引定位行,并相应地更新了代码。我只是想知道我该如何将

我有一个数据表,其中填充了不同的行,每个行都有几列(即ID、名称、描述..)

我正在尝试实现一个搜索按钮,其中用户通过组合框(如ID或名称)选择一列,并在文本框中键入其请求的搜索,单击“搜索”按钮后,我希望在屏幕上选择并突出显示他们正在查找的行,而无需使用表,因为键会将所有内容保持在表最初填充的顺序中。另一个注意事项是,我希望所有项目仍然可见,所以我不打算使用.rowfilter,因为它已经在Separate按钮中实现。 我已经找到了如何通过索引定位行,并相应地更新了代码。我只是想知道我该如何将屏幕居中放置在所说的行上,并在不混淆表格顺序的情况下将其高亮显示

以下是我目前掌握的情况:

private void buttonSearch_Click(object sender, EventArgs e)
{
    string query = textSearch.Text;
    int intquery = Int32.Parse(query);
    DataTable dt = GetAlarmTable();
    DataView dv = new DataView(dt);
    DataRow[] foundRows;
    switch (comboboxSearch.Text)
    {
         case "ID":
         {

              dv.Sort = "ID"; 
              index = dv.Find(intquery);
              foundRows = dt.Select("ID = '" + intquery + "'");
              break;
          } 
    }
//??? ???

}

如果你有代码分享,想法,或链接,请让我知道

这是我通常使用的函数。确保将
DataGridView
上的
SelectionMode
属性设置为
FullRowSelect

public static void EnsureGridRowIsSelectedAndVisible(DataGridViewRow row)
{
    if (row == null)
        return;

    row.Selected = true;

    // Center the item in the display
    row.DataGridView.FirstDisplayedScrollingRowIndex = 

        Math.Max(row.Index - Convert.ToInt32(row.DataGridView.DisplayedRowCount(false) / 2), 0);
}