Xceed DataGrid SelectedItem问题

时间:2010-04-19 20:20:18

标签: c# wpf datagrid xceed xceed-datagrid

在我的项目中,我有一个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并扩展细节后,如何让网格聚焦在行上?

谢谢,

帕特里克

1 个答案:

答案 0 :(得分:3)

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