RDLC报表自定义代码以及分组行数的设置
由于RowNumber实在是不能返回分组行数,所以只好用自定义代码(不过,自定义代码的提示有够滥,明明已经写了此函数,却用Code得不到提示)。
好了,具体实现过程如下:
在自定义代码中加入如下代码,幸好自定义代码中可以定义模块变量,否则此方法也没戏了。
public rowIndex1 as integer public rowIndex2 as integer public rowIndex3 as integer public rowIndex4 as integer public rowIndex5 as integer public rowIndex6 as integer‘自动计算+1,并返回+1后的新的行数 Function getRowNumber(flag1 As integer)As integer select case flag1 case 1 rowIndex1 +=1 return rowIndex1 case 2 rowIndex2 +=1 return rowIndex2 case 3 rowIndex3 +=1 return rowIndex3 case 4 rowIndex4 +=1 return rowIndex4 case 5 rowIndex5 +=1 return rowIndex5 case 6 rowIndex6 +=1 return rowIndex6 case else return 0 end select End Function’返回当前行索引的当前值。 Function getRowCount(flag1 As integer)As integer select case flag1 case 1 return rowIndex1 case 2 return rowIndex2 case 3 return rowIndex3 case 4 return rowIndex4 case 5 return rowIndex5 case 6 return rowIndex6 case else return 0 end select End Function在需要自动计算行数的地方,放置如下代码:= Code.getRowNumber(1)如要获取当前行数的当前值,放置如下代码:= Code.getRowCount(1)不能用如下方法来替换
=IIf(Code.getRowCount(1) Mod 2, "PaleGreen", "White")这个方法=IIf(RowNumber(Nothing) Mod 2, "PaleGreen", "White")因为,生成背景色是在数据生成这前,所以如果用getRowCount方法来设置行的颜色的话,第一列行索引列颜色会与后面的不同,因为此时是刚计算行索引号,在设置背景时,行索引的值还是上一行的,除非行索引列是隐藏的。