编辑:这个问题与我调用方法时的情况有关。如果我等待表单被显示,并从表单本身的菜单中调用该方法,它就会工作。但是,如果我将该行设置为在表单完成呈现之前显示,它将无法工作。当XtraGrid完成呈现时,它会引发事件吗?
在使用网格的行句柄显示特定行时,我没有取得任何成功。我尝试了GridView的两个GridView方法,还简单地设置了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;
}
}
}发布于 2011-07-08 21:32:47
如果要在窗体的SetVisibleRow事件中调用OnLoad方法,请确保首先调用网格控件的ForceInitialize方法。
发布于 2011-06-28 18:58:59
如果在网格的Load事件中调用该方法,则该问题将得到解决。
发布于 2015-02-16 15:48:47
gridView.ClearSelection();
gridView.SelectRow(rowHandle);
gridView.FocusedRowHandle = rowHandle;
gridView.TopRowIndex = rowHandle;https://stackoverflow.com/questions/6511168
复制相似问题