在我的项目中,我有一个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并展开详细信息后,如何使网格聚焦于该行?
谢谢,
帕特里克
解决方法:
我不知道Xceed DataGrid的API,但通常此类会提供类似ScrollIntoView(…)的方法.稍作搜索后,我发现Xceed的DataGrid显然提供了一种称为BringItemIntoView(…)的方法.你尝试过那个吗?
例如,在Xceed论坛的this thread中,他们讨论了此方法.