在我的项目中,我有一个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并展开了详细信息之后,如何才能使网格集中在行上呢?
谢谢,
帕特里克
发布于 2010-04-20 17:30:26
我不知道Xceed DataGrid的API,但通常这样的类提供像ScrollIntoView(...)这样的方法。在谷歌了一下之后,我发现Xceed的DataGrid显然提供了一个名为BringItemIntoView(...)的方法。你试过那个吗?
例如,在this thread的Xceed论坛中,他们讨论了这种方法。
https://stackoverflow.com/questions/2670547
复制相似问题