项目开发过程中,有时候会需要将相同数值的单元格合并,已给用户更好的视觉体验。比如要统计出不同作者出版的书籍,常规的显示为
作者这一列很明显出现了重复的数据,这在项目开发过程是不允许的。还好Devexpress 的DataGrid控件提供了合并单元格的功能。通过使用它的CellMerge方法,来对单元格合并。下面是合并后的效果
具体操作:
- Run Design->Options->OptionsView->AllowCellMerge 设置为true
- 左侧栏Main->Columns->选择作者列->右侧栏Options->AllowMerge 设置为true。(需要通过相同的设置方式将其它里的AllowMerge有Default改成False)
- 在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的类。