cswebdev
asked on
Report viewer RDLC report grouping
Hello,
When we create a grouping for RDLC report, we can insert a total for that grouping on the footer section by using =sum(fields!quantity.value ). It works when the value in integer, but can we stack them as string and display them on single line on the footer section of the group. For example something like this:
group: Country
detail line: quantity
2
3
5
group footer: 2,3,5
-------------------------- --------
In above example:
I am showing the data of detail line just to explain what I need, but I am going to supress it in my report and just show one line group footer which contains the data of detail line separeted by comma.
Thanks!
When we create a grouping for RDLC report, we can insert a total for that grouping on the footer section by using =sum(fields!quantity.value
group: Country
detail line: quantity
2
3
5
group footer: 2,3,5
--------------------------
In above example:
I am showing the data of detail line just to explain what I need, but I am going to supress it in my report and just show one line group footer which contains the data of detail line separeted by comma.
Thanks!
Further to this, if you add a list to your report, then use the list for the grouping instead of the table, then you should be able to make this work. The table would then be wthin the list, along with a row of textboxes to show the group totals.
If this doesn't make any sense let me know and I'll try again!
If this doesn't make any sense let me know and I'll try again!
ASKER
I tried applying your technique, and it works perfectly for first group, but when it moves to next group the data from previous group also gets stacked up. And I don't know where I need to reset the value to get new string list for new group. Also, could you suggest me of any possible way to display the calculated value directly under the group (I know you said we cannot put under group footer) rather than adding after the table. I am willing to use List if it is works better for my need.
Thanks!
Thanks!
To reset the string use this function
Public Function ResetValue() as string
AllValues = ""
Return ""
End Function
Try this:
Add a list to the report, set this to be grouped using whatever your current table gouping uses.
Remove the grouping fro your table, and put the table inside the list.
In the list, add a textbox above the table containing
=Code.ResetValue()
In each row of the table, use
=Code.SetValue(sum(fields! quantity.v alue))
Add a textbox in the list but below the table containing
=Code.GetAllValues()
Then, the custom code runs outside of the table to it will work, but the whole lot is repeated according to the grouping of the list.
Let me know if you get any problems...
Public Function ResetValue() as string
AllValues = ""
Return ""
End Function
Try this:
Add a list to the report, set this to be grouped using whatever your current table gouping uses.
Remove the grouping fro your table, and put the table inside the list.
In the list, add a textbox above the table containing
=Code.ResetValue()
In each row of the table, use
=Code.SetValue(sum(fields!
Add a textbox in the list but below the table containing
=Code.GetAllValues()
Then, the custom code runs outside of the table to it will work, but the whole lot is repeated according to the grouping of the list.
Let me know if you get any problems...
ASKER
Hello,
I tried for a while, but it didn't work like I expected, so we ended up deciding to create a drill through report instead. I will give you the whole point if you could tell me a very easy way to count the number of records within a group excluding the counts of records with '0' in one of their fields. For example
Group: A
1
0
9
Footer-> non-zero records: 2
Group B
5
8
0
1
Footer-> non-zero records: 3
Thanks!
I tried for a while, but it didn't work like I expected, so we ended up deciding to create a drill through report instead. I will give you the whole point if you could tell me a very easy way to count the number of records within a group excluding the counts of records with '0' in one of their fields. For example
Group: A
1
0
9
Footer-> non-zero records: 2
Group B
5
8
0
1
Footer-> non-zero records: 3
Thanks!
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
very helpfull!
If you want to do this, add this to your custom code
Dim AllValues as String
Public Function SetValue(Val as string) as string
AllValues = AllValues + ", " + Val
Return Val
End Function
Public Function GetAllValues() as string
Return mid(AllValues,3)
End Function
In your table, replace the cell
=sum(fields!quantity.value
with
=Code.SetValue(sum(fields!
Then, after the table, add a textbox with the value
=Code.GetAllValues()