2010-04-19 97 views
2

在我的项目中,我有一个Xceed数据网格,它绑定到具有许多记录和记录详细信息的数据源。我正在尝试创建一个上下文菜单选项,该选项将允许用户搜索特定列中的特定细节。虽然我已经成功地完成了功能,但有一个UI部分给我带来一些麻烦,因为当我在C#中选择行时,如果该行不在视图中,那么该行永远不会被关注。因此,用户必须上下滚动以查找具有扩展细节的行。Xceed DataGrid SelectedItem问题

我能够设置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并扩展细节后,如何才能使网格专注于行?

感谢,

帕特里克

回答

2

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

+0

完美的工作!我猜想,当我阅读Xceed DataGrid的方法时,我忽略了这一点。非常感谢你。 – 2010-04-20 14:21:09