安心海叶 发表于 2015-12-4 11:08:00

C1DataGrid的Head合并问题

您好!
我想请问一下,在DataGrid里面如何通过代码将单元格相同的内容合并?

我已经看过相关帖子的代码,但是都是在xmal中写的

Alice 发表于 2015-12-4 11:41:00

回复 1楼安心海叶的帖子

谢谢您的反馈。
默认情况下,就要设置AllowMerging,就会自动合并相同内容。
请参考产品博客:
http://blog.gcpowertools.com.cn/post/2015/07/31/C1DataGridWPF_MergeHeader.aspx
如果您有特殊合并的逻辑,可以直接使用MergingCells事件。
在该事件里完成任何的合并。
代码逻辑:
c1DataGrid1.MergingCells += (s, e) =>
{
var _grid = s as C1DataGrid;
var _mergeList = new List<DataGridCellsRange>();
_mergeList.Add(new DataGridCellsRange(_grid.GetCell(0, 0), _grid.GetCell(1, 0)));                           _mergeList.Add(new DataGridCellsRange(_grid.GetCell(0, 1), _grid.GetCell(1, 1)));
_mergeList.Add(new DataGridCellsRange(_grid.GetCell(0, 2), _grid.GetCell(1, 2)));
_mergeList.Add(new DataGridCellsRange(_grid.GetCell(0, 3), _grid.GetCell(0, 5)));
_mergeList.Add(new DataGridCellsRange(_grid.GetCell(0, 6), _grid.GetCell(0, 8)));
_mergeList.Add(new DataGridCellsRange(_grid.GetCell(0, 9), _grid.GetCell(1, 9)));
_mergeList.Add(new DataGridCellsRange(_grid.GetCell(0, 10), _grid.GetCell(1, 10)));                  
    foreach (var range in _mergeList)
   {
       e.Merge(range);
   }
};

安心海叶 发表于 2015-12-5 15:54:00

回复 2楼Alice的帖子

好的,非常感谢~

安心海叶 发表于 2015-12-5 16:41:00

回复 3楼安心海叶的帖子

还想问一下,如何将合并的内容置于单元格的中间

Alice 发表于 2015-12-7 09:37:00

回复 4楼安心海叶的帖子

有两种方式,分别是代码和XAML设置。
详细的您参考下产品博客,有详细的代码,链接:
http://blog.gcpowertools.com.cn/post/2015/12/01/C1DataGridWPF_MergeStyle.aspx

安心海叶 发表于 2015-12-12 17:43:00

回复 5楼Alice的帖子

问题已经解决,谢谢!

Alice 发表于 2015-12-14 09:08:00

回复 6楼安心海叶的帖子

好的。
非常感谢您的反馈。
此问题关闭,如果有新问题请开新帖。
页: [1]
查看完整版本: C1DataGrid的Head合并问题