I have spent hours trying to add a border between the groups in my report and I am obviously missing something very simple.
My Report:
I have set it up with a parent group, child group, and details.
I need a darker or thicker line between each parent group instance (Every time the Company Name Changes).
At the moment it Renders like this:
with all the borders the same around every cell.
I have tried the suggestion from https://stackoverflow.com/questions/12617953/border-formatting-of-ssrs-row-group/12619892#12619892
(post with suggestion to add extra row outside of group with a border and remove
borders from details) but ended up with thick borders around all cells.
I Tried selecting the Row Group and adding the following into the Border
IIf(Fields!Name.Value=First(Fields!Name.Value,"Tablix6"),"Solid","Nothing")
(added to BorderStyle Top)
IIf(Fields!Name.Value=Last(Fields!Name.Value,"Tablix6"),"Solid","Nothing")
(added to BorderStyle Bottom)
This generated an error message that the Iif statement could not do that many Options.
I tried the codes with different colours in the BorderColour just in case I was unable to see the difference in the rendering and with different thicknesses by altering the "Solid" to a colour/pt.
I also tried with Previous instead of Last but that also generated an error message around 'Previous not being supported'.
There are a lot of posts that suggest adding a group footer and adding the border to that and then minimizing the size of the group footer but I just cant seem to find how to add a group footer. I cannot seem to get that as an option in the drop down menus.
I have looked at so many different posts on different sites that I now cannot see the wood for the trees and really don't know what to try next. Please could anyone suggest where I have gone wrong.
Related
I'm trying to show the tables' headers on every new page and it is working in the usual preview mode in reporting services but it isn't working when showing the report in print layout mode. It shows the headers on some of the pages but only when my parent group is at the top of the page which it rarely is cause of the other "child-tables" data that shows after.
I've been following some other SO-posts where they suggest going in to advanced mode by the column group, choose the static field belonging to the table headers, putting "KeepWithGroup"-property to AFTER and the "RepearOnNewPage"-property to TRUE and ofcourse in the tablix properties check the "Repeat header columns on each page"-box.
While doing everything that people are suggesting in other SO-posts I just can't get it to work.
The image below shows what the table looks like, where the yellow marked area is the header and the red is the "child-table" I put in after merging that row. Between the marked rows is the parent table which the child table is ordered by.
The layout of the table in the report.
Please help me, this is such an annoying problem!
EDIT ---
Okay, so I get that the headers follow the group and that the "KeepWithGroup" = After shows the headers only when the group starts at the top of the page.
Is there any workaround to make the header showing on every page without making it a page header?
Please follow all the other advice readily available on this topic:
RepeatOnNewPage property to **True**.
KeepWithGroup property to **After**.
But then, make sure your lowest level Group has the KeepTogether property set to True.
Otherwise, you'll just be hoping your data breaks on the page for the header to repeat.
After much pain with this exact issue, even setting RepeatOnNewPage to true and KeepWithGroup property to After...ultimately the fix was adjusting the top and bottom margins of the report.
The weird part is that the headers correctly repeat in the report preview, but not after clicking the print layout button.
changing the top and bottom margin from 0.25 to 1 fixes the repeating header issue, but then adds some white space. I'm still trying to figure out the causal relationship between margin and why it breaks the header repeating...but it does fix the problem for some reason.
I've gotten the hang of creating charts/colors and grouping data but I can't seem to figure out how to outline each grouping in my report.
I've got data built for my chart - what I would like to have it appear as -- is like this:
I'm not picky on the color, but that's the least of my worries. I can't figure out how to create the outline, but by group rather then by line.
For your TOP Border Style, use the expression:
=IIF(Fields!TourDate.Value = PREVIOUS(Fields!TourDate.Value), "None", "Solid")
This just checks to see if your TourDate field is different from the Previous row.
The default would need to be solid. You can use it with the border color (black) instead if you want the grey border normally.
i have an ssrs 2008 R2 matrix with Accounts on Rows, Months on Columns and Sales in the data section. I need to “double underline” the sales numbers but I can’t figure out how to do this.
i tried using “double border” but that would create one giant line across instead of just underlining the sales numbers - in other words, the display would be a single long line across.
any idea how to achieve this? i am willing to use custom code in the report code. Thanks in advance for your help.
Edit: Adding a screen shot to show the desired output:
For some reason the Double text box BorderStyle property seems to be rather temperamental.
This MSDN thread suggests a few requirements to get this running:
Double Line border turn to be single in Reporting Service
The border width must be 3pt at least.
There must be at least one row beneath the Double border text box.
Let's test this out. A simple tablix:
And let's set the bottom text box to be Double at the bottom:
In Preview this is unsuccessful:
Let's test out the suggestions. First, set the width to 3pt:
Same result:
Let's add an extra row below:
It works:
What's going on here? It seems like if the width is too low, the two lines will squash together. Also, it seems like the border actually spills to an adjacent text box, so if this doesn't exist the bottom line is not displayed.
Put them together and it works.
One more note - this is not required for Excel - just add a 1pt Double border and it will be fine. The above series of steps are only required for Web, PDF, etc.
i have a report page,and inside of it,near the end of the page there is a 6x3 table. when i run the report,first row is shown in the first page,and the other 5 rows are shown in the second page even if the keep together property is set to True. Does not the Keep Together property mean that keep all the rows together . How can i fix that ? thanks in advance.
The keep together property attempts to keep individual rows on the same page, not all the rows.
i.e, if you have a detailed row that is filled with content spanning multiple lines, that will still be kept together in the same page when possible.
One possible solution might be to put a rectangle in that page, and putting the table inside the rectangle. Not 100% sure it will work, but that is what I would try.
Hope it helps.
I was having the same problem. The solution is to right click on the table, Add Group, and put everything you want unbroken up in the same group.
I would like to put a border around each entire group. I have found an expression online to help with this, but it has one flaw. When the group extends to a new page, the bottom border of the last item, and the top border for the first item on the next page do not appear.
Code for top border
=Iif(Fields!ROWNUM.Value = First(Fields!ROWNUM.Value, "EVENT"),"Solid",nothing)
Code for bottom border.
=Iif(Fields!ROWNUM.Value = Last(Fields!ROWNUM.Value, "EVENT"),"Solid",nothing)
based on the logic of this expression, I can completely understand why it does this, but I want to know if there is any way to solve this. Unfortunately inserting a page break between instances of the group is not an option, some of these groups are large and would leave pages almost entirely blank. I believe that you cannot use the global variable page number outside of the header/footer. Is there a "Page break" variable that i can use to say before or after page break?.
Any ideas would be great! thanks