【问题标题】:devExpress Xtragrid: how to get/set rowheight located at index ndevExpress Xtragrid:如何获取/设置位于索引 n 处的行高
【发布时间】:2014-10-23 03:48:04
【问题描述】:

我正在使用 devExpress gridview,我想为我拥有索引的任何行获取/设置行高。例如,我有一个包含 50 条记录的 gridview,我想增加我单击的任何行的高度。我可以在单击的位置获取 rowindex,但无法设置行高。 我正在将 devExpress 13 用于 Windows 窗体应用程序。

【问题讨论】:

    标签: winforms gridview devexpress xtragrid


    【解决方案1】:

    要完成此任务,请将以下帮助程序类添加到您的项目中:

       public class GridRowZoomHelper
    {
        public GridView GridView { get; set; }
    
        public int ZoomedRowHeight { get; set; }
        private int _ZoomedRowHandle;
        public int ZoomedRowHandle
        {
            get
            {
                return _ZoomedRowHandle;
            }
            set
            {
    
                if (_ZoomedRowHandle == value)
                    return;
                var prevValue = _ZoomedRowHandle;
                _ZoomedRowHandle = value;
                OnZoomedRowHandleChanged(prevValue, value);
            }
        }
        public GridRowZoomHelper(GridView gridView)
        {
            GridView = gridView;
            ZoomedRowHeight = 60;
            ZoomedRowHandle = GridControl.InvalidRowHandle;
            GridView.RowClick += GridView_RowClick;
            GridView.CalcRowHeight += GridView_CalcRowHeight;
            GridView.ShownEditor += GridView_ShownEditor;
        }
    
        void GridView_ShownEditor(object sender, EventArgs e)
        {
            ZoomedRowHandle = GridView.FocusedRowHandle;
        }
    
        void GridView_CalcRowHeight(object sender, RowHeightEventArgs e)
        {
            if (e.RowHandle == ZoomedRowHandle)
                e.RowHeight = ZoomedRowHeight;
        }
    
        void GridView_RowClick(object sender, RowClickEventArgs e)
        {
            ZoomedRowHandle = e.RowHandle;
        }
    
        private void OnZoomedRowHandleChanged(int prevValue, int value)
        {
            GridView.RefreshData();
        }
    }
    

    然后,按如下方式注册:

      new GridRowZoomHelper(gridView1).ZoomedRowHeight = 60;
    

    因此,点击一行会自动增加其高度:

    【讨论】:

      猜你喜欢
      • 2012-09-27
      • 1970-01-01
      • 2016-01-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-17
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      相关资源
      最近更新 更多