编辑:问题与我调用该方法时有关。如果我等待表单显示,并从表单本身的菜单中调用该方法,它就可以工作。但是如果我在表单完成渲染之前设置要显示的行,它就不起作用。XtraGrid 完成渲染后是否引发事件?
使用行句柄使网格中的特定行可见,我没有取得任何成功。我已经尝试了 GridView 的 MakeRowVisible 方法,还简单地设置了 ColumnView 的 FocusedRowHandle 属性,这两者都应该将指定的行显示在视图中。
注意:当使用 ColumnView.FocusedRowHandle 属性聚焦一行时,视图会自动使指定的行在屏幕上可见。MakeRowVisible 方法用于此目的。因此,如果您需要聚焦目标行,则不必使用 MakeRowVisible 方法。只需将所需的行句柄分配给 ColumnView.FocusedRowHandle 属性。 http://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridViewsGridGridView_MakeRowVisibletopic
我一定缺少一些基本的东西。谢谢您的帮助。
public void SetVisibleRow(int customerid)
{
DevExpress.XtraGrid.Views.Base.ColumnView vw;
vw = (DevExpress.XtraGrid.Views.Base.ColumnView) MyGrid.DefaultView;
for ( int i = 0; i < vw.DataRowCount; i++)
{
if ((int)vw.GetRowCellValue(i, "custid") == customerid)
{
// DevExpress.XtraGrid.Views.Grid.GridView gv;
// gv = (DevExpress.XtraGrid.Views.Grid.GridView) MyGrid.DefaultView;
// gv.MakeRowVisible(i,false);
vw.FocusedRowHandle = i;
break;
}
}
}