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