首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DevExpress XtraGrid MakeRowVisible

DevExpress XtraGrid MakeRowVisible
EN

Stack Overflow用户
提问于 2011-06-28 18:13:54
回答 3查看 6.4K关注 0票数 1

编辑:这个问题与我调用方法时的情况有关。如果我等待表单被显示,并从表单本身的菜单中调用该方法,它就会工作。但是,如果我将该行设置为在表单完成呈现之前显示,它将无法工作。当XtraGrid完成呈现时,它会引发事件吗?

在使用网格的行句柄显示特定行时,我没有取得任何成功。我尝试了GridView的两个GridView方法,还简单地设置了ColumnView的FocusedRowHandle属性,这两个属性都应该使指定的行进入视图。

注意:当使用ColumnView.FocusedRowHandle属性聚焦一行时,视图会自动使指定的行在屏幕上可见。MakeRowVisible方法就是为此目的使用的。因此,如果需要对目标行进行聚焦,则不必使用MakeRowVisible方法。只需将所需的行句柄分配给ColumnView.FocusedRowHandle属性即可。http://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridViewsGridGridView_MakeRowVisibletopic

我一定是错过了一些基本的东西。谢谢你的帮助。

代码语言:javascript
运行
复制
 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;
                  }
            }

        }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-08 21:32:47

如果要在窗体的SetVisibleRow事件中调用OnLoad方法,请确保首先调用网格控件的ForceInitialize方法。

票数 1
EN

Stack Overflow用户

发布于 2011-06-28 18:58:59

如果在网格的Load事件中调用该方法,则该问题将得到解决。

票数 1
EN

Stack Overflow用户

发布于 2015-02-16 15:48:47

代码语言:javascript
运行
复制
        gridView.ClearSelection();
        gridView.SelectRow(rowHandle);
        gridView.FocusedRowHandle = rowHandle;
        gridView.TopRowIndex = rowHandle;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6511168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档