在我的项目中,我有一个Xceed数据网格,它绑定到具有许多记录和记录详细信息的数据源。我正在尝试创建一个上下文菜单选项,允许用户搜索特定列中的特定详细信息。虽然我已经成功完成了功能,但是有一个UI部分给我带来了一些麻烦,因为当我在C#中选择行时,如果该行不在视图中,则该行永远不会被关注。因此,用户必须向上和向下滚动以查找具有扩展细节的行。
我能够设置SelectedRow并扩展细节,如下所示:
this.grid.AutoFilterValues[userColumn].Clear();
this.grid.AutoFilterValues[userColumn].Add(userValue);
if (this.creditLinesDataGridControl.Items.Count > 0)
{
this.grid.SelectedItem = this.grid.Items[0];
this.grid.ExpandDetails(this.grid.Items[0]);
}
else
{
MessageBox.Show("Value not found in column: " + userColumn);
}
this.grid.AutoFilterValues[userColumn].Clear();
其中userColumn和userValue先前已在方法中设置。
在设置SelectedItem并扩展细节后,如何让网格聚焦在行上?
谢谢,
帕特里克
答案 0 :(得分:3)
我不知道Xceed DataGrid的API,但通常这些类提供类似ScrollIntoView(...)
的方法。谷歌搜索后,我发现Xceed的DataGrid显然提供了一个名为BringItemIntoView(...)
的方法。你试过那个吗?
例如,在Xceed论坛的this thread中,他们讨论了这种方法。