如何在RDLC报告中为每个组添加我的rownumber?

时间:2012-03-19 13:05:59

标签: c# winforms report reportviewer rdlc

如何添加如下行号:

第1组

RowNumber ID名称年龄

1            231     test     43
2            324     test2    45
3            354     test3    34

第2组

RowNumber ID名称年龄

1          657     test4    43
2          534     test5    45
3          678     test6    34

我想像这个例子那样做行号。对于每个组,我的行号将重置并从1开始到组行数。我的gruops(GROUP 1,GROUP 2,....)来自db动态!我有多少组不清楚! here我找到了一些解决方案,但我认为这些解决方案可用于我们知道的多少组!

2 个答案:

答案 0 :(得分:14)

RDLC具有RowNumber("ScopeName")功能。这将返回给定范围内记录的行号。

您可以在"行组"下看到设计师下面的报告的现有组。和#34;列组"头。在分组中选择您想要行号的列并查看行列,默认名称为:

[(Group1)
 ≡(Details1)

将行号列的表达式设置为

=RowNumber("Group1")

答案 1 :(得分:2)

右键单击您的报告属性,然后转到代码,然后粘贴下面的代码

   Dim private count as integer = 0
   Dim private iniRow as integer = 0
   Dim private iniGrp as Object = ""
   Public function MatrixRow(Byval rowNum as integer,Byval rowGrp as Object) as integer

   if iniGrp = "" then
      iniGrp = rowGrp 
   end if

  if rowGrp <> iniGrp then
      iniRow = 0 
      count = 0 
      iniGrp = rowGrp 
  end if

  if iniRow = 0 then
      iniRow = rowNum
  end if

  if rowNum = iniRow then
     count = 0
  end if

   count = count + 1
   Return count
  End function

然后使用此功能,如

   =Code.MatrixRow(RowNumber(Nothing),(YourgroupfiledNameFromDataest))