3

在我的项目中,我有一个 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 并展开详细信息后,如何使网格集中在行上?

谢谢,

帕特里克

4

1 回答 1

3

我不知道 Xceed DataGrid 的 API,但通常此类类提供类似ScrollIntoView(...). 谷歌搜索了一下,我发现 Xceed 的 DataGrid 显然提供了一个名为BringItemIntoView(...). 你试过那个吗?
例如,在Xceed 论坛的这个线程中,他们讨论了这种方法。

于 2010-04-20T09:30:25.917 回答