sliverlight DataGrid 合并表头
最近在项目上需要做报表,而有些报表就涉及到表头合并的问题:
开始现在网上搜索了一番,在这篇文章上看到了一种实现方式,然后把代码下载。根据他的配置项,定义了一个报表。但是在运行中发现有bug,然后就研究源码。
发现在代码中:
for (int i = 0; i < Headers.Count; i++) { int ColPos = 0; for (int j = 0; j < Headers[i].RowHeaderCells.Count; j++) { DynamicHeaderCell dhc = Headers[i].RowHeaderCells[j]; AddHeaderTextBlock(LayoutRoot, dhc.Header, i, ColPos, dhc.RowSpan, dhc.ColSpan); ColPos += dhc.ColSpan; } }
AddHeaderTextBlock(LayoutRoot, dhc.Header, i, ColPos, dhc.RowSpan, dhc.ColSpan); 这里这代码在处理报表在中间单元格合并就有问题。所以我在DynamicHeaderCell类中条件了两个属性,col,row,用于在动态生成表格头的时候定位单元格的位置。
下面给出具体的源码,同时还请各位多提出意见或解决方案!