使用XtraGrid实现合并单元格

时间:2022-11-20 11:14:38

       项目开发过程中,有时候会需要将相同数值的单元格合并,已给用户更好的视觉体验。比如要统计出不同作者出版的书籍,常规的显示为
   使用XtraGrid实现合并单元格
作者这一列很明显出现了重复的数据,这在项目开发过程是不允许的。还好Devexpress 的DataGrid控件提供了合并单元格的功能。通过使用它的CellMerge方法,来对单元格合并。下面是合并后的效果
使用XtraGrid实现合并单元格
具体操作:
  1.  Run Design->Options->OptionsView->AllowCellMerge 设置为true
  2. 左侧栏Main->Columns->选择作者列->右侧栏Options->AllowMerge 设置为true。(需要通过相同的设置方式将其它里的AllowMerge有Default改成False)
  3. 在GridVie的CellMerge事件里编写代码
                GridView view = sender as GridView;
                // 设置合并单元格列为作者列
                if (e.Column != colPublisher) return;
                if (view != null)
                {
                    var value1 = (string)view.GetRowCellValue(e.RowHandle1, e.Column);
                    var value2 = (string)view.GetRowCellValue(e.RowHandle2, e.Column);
                    e.Merge = (value1 == value2);
                    e.Handled = true;
                }

    同过这种操作,我们可以很方便的显示数据格式,也可以使用DataGrid自带的导出到Excel文件方法导出成Excel文件。不需要再编写导出成Excel的类。