Hide row (and remove whitespace placeholder) of tablix in Reporting Services 2008 - ssrs-2008

I have a row in a tablex that I want to hide based on a condition. I can do this with the visibility property and also using CanShrink as well is an option.
I've tried both of these and the best I can do is hide the row (make it invisible), but it keeps the whitespace it takes up - I need to remove the whitespace too so if it is not shown that it doesn't take up paper/viewing space.
I have also made the height of the row very small and put cangrow=true so that that if i populate the field with data based on an expression it will grow to the right size but this is not ideal because there is still 0.03125in of space for the row that is always shown (minimim height) and if it grows it grows to fit the text but not neccessarily the set size I want.
I thought I had done this before in an older version of RS but I can't seem to get it to work correctly in this version (2008).
Any ideas?

Try to set the Hidden property of the Static Row Group under the Details Group, in this case the whole row will disappear instead of the content of the textboxes.
If you are using Report Builder, you need to switch to Advanced Mode (make sure that the Properties and the Grouping windows are displayed, go to the upper right side of the Grouping window and press the black triangle):
Click on the second "Static" item under the "(Details)" group and you can set the Hidden property on the Properties window.
Link to MSDN sample

A simpler way to get to this option for hiding a row is to right-click on the row header and select "Row Visibility". From there you will get a dialog where to can enter an expression.

I was able to make the rows go away by setting the following 2 properties
textbox.CanShrink
row.Hidden
I played w/ row.HideIfNoRows and it seems to have no effect in accomplishing the desired outcome described by op.
Click on textbox, these one is in the properties of the textbox
(if there are multiple columns, I assume you will have to make this setting for each cell/textbox, in my case, I only had 1 column)
CanShrink=false
For the next property, you have to go into ADVANCED MODE by clicking the down arrow at the right side of the Row Groups/Column Groups pane.
Click on the Row containing the line you would like to hide.
The Hidden property can be found in properties pane...
This is an alternate way to set Hidden, as opposed to right clicking the Row Header in the actual Tablix.
Hidden= <expression describing when you want the row hidden hidden>
One other note - If you right click the Row Header and choose 'Row Visibility' you get a dialgue. the Row Property dialog has a caption "Show or Hide Based on an expression".
The actual behaviour is It will HIDE the row if the expression evaluates to TRUE.
IMHO - this is misleading, at best ambiguous.
Once you understand the property you are actually setting is called HIDDEN, then this makes sense. Until then, I certainly assumed I was setting a property called Visisble... FWIW....

On the empty row you want to hide, go to the text box properties and go to expressions -> visibility, then show or hide based on an expression and use
=iif(first(Fields!.Value = ""),true,false)

Setting row visibility logic is important, but I've learned that sometimes a blank row will still appear, even though its contents are hidden. To solve this, I had to do the following non-intuitive steps, but I did in fact succeed in completely suppressing unwanted white space.
In the cell in the tablix region, use the Insert > Rectangle menu option.
In the rectangle, use the Insert > Textbox menu option. Resize as needed.
In the textbox, right-click and enter a placeholder.
Set the value of the placeholder expression to whatever you need.

Related

How to add automatically expanding horizontal space in libreoffice (similar to say flex justify-content space-around)

I'm trying to achieve this effect:
|First phrase...............................................Second phrase|
Where the | markers above denote the page margins, and ....... represents a 'horizontal space' (which may or may not use space as the character, a 'dot' as above, or any other character), which effectively expands to take as much space as possible between the two pieces of text.
This is pretty common, e.g., when designing a table of contents manually*, or when trying to achieve the kind of "chapter X...........page Y" effect in headers.
I know there's a specific and easy way to introduce this kind of 'expanding horizontal space', because I've done it in the past. But I just can't find it anymore. I just vaguely remember that the relevant menu allowed you to specify what character you wanted to use in this 'expanding space'. Also, it may or may not have involved the use of tabs.
Any ideas?
* Yes I know about the "Table of Contents" menu option, no I'm not trying to design a table of contents, it was just an example :)
I remembered.
Create a tab stop on the horizontal ruler above the page, right click to convert from a 'left' stop to a 'right' stop, and drag that stop all the way to the right margin.
Then, next time you press 'tab', the tab will automatically push any content to the right of your cursor, all the way to the right margin.
If you optionally also specify a fill character in the 'Tabs' tab of the 'Paragraph' formatting menu, the tab space will be filled with that character.

Headings inside table cells don't appear in Navigation pane: workaround?

I have a long table. Not realizing that headings inserted inside a table don't appear in the Outline View or the Navigation Pane (See Blom's answer to http://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-mso_other/headings-do-not-appear-in-navigation-pane/c3ff186f-8363-47e2-9f46-8f2cf83d78b4), I put a bunch of Heading 1 and Heading 2 headings inside my table. Now I'm having trouble jumping around inside my document.
The brute force approach that has occurred to me is to split the table after every heading, and take the heading out of the table.
Any other ideas?
MS Word 2010.
This is a known issue and Stefan Blom's answer still holds:
It is a known limitation in Word that headings inside table cells won't appear in the Navigation pane. For what it's worth, the same thing applies to the predecessor of the Navigation pane, the so-called Document Map, in older versions of Word.
As you have noticed, Word properly adds headings inside a table to the TOC, fortunately.
If you want the headings to appear in the navigation pane you have to place them outside of tables, i.e. your suggested approach is the way to go.
If you still want the heading to appear like it is part of the table you can simulate that by adding a paragraph border around your heading. (Note: This still does not work if it is in a table cell. You must be outside the table cell.)
I had the same problem and found useful this alternative:
Select desired text inside the table and insert Bookmarks from Insert > Bookmarks:
Type a Name and add the bookmark :
Use Bookmark Panel (CTRL+SHIFT+F5) or "Go To" command to navigate inside the document
In my case, headings weren't shown because I mixed heading and body text. Example(black text: heading):
OR operator Displays records if any condition is TRUE
So I solved it putting the body text below
OR operator
Displays records if any condition is TRUE

suppress line conditional in crystal report

I've a vertical line that i want to suppress with a condition.
Unfortunately I don't see the condition option by a line.
When I use an empty textbox, all the other text is moved down.
Is there conditional another suppress option for a line?
You can't conditionally suppress a line in CR. I know of two options to get around that:
Put the line in its own section and then conditionally suppress the section.
Put a textbox over the line and then conditionally format the background of the textbox by right-clicking on the textbox -> Format Field -> Border tab -> check Background check box -> click "x+2" box to enter conditional formula, The formula would be something like if condition then crWhite else NoColor, where crWhite will hide the line, NoColor will show it.
Simple way,
Insert Text object increase the length of the object as required.
Go to Format Object -> select border property and choose Top or bottom lines.
Put some text (like under score or space) for object text and minimize the width of the object so that you can't see the provided data to the object but still border appears as a line.
As it worked for me.
I found an alternative to suppressing a line object, think this might help
CrystalReport1 cr1 = new CrystalReport1();
(cr1.ReportDefinition.ReportObjects["line_object_name"] as LineObject).LineStyle = CrystalDecisions.Shared.LineStyle.NoLine;

How to remove empty space after last row when using Can Grow option on text fields in Crystal Report?

I have a report displaying rows with text fields with variable length (I use the Can Grow option). I use a Box for the details. My problem is that when the last text field cannot fit into to the box on the bottom of the page, a empty space is left, and the new row begins on next page. Unchecking the option Keep Object Together on the fields, didn't solve the problem and if it did I don't want the content of the text field to break across pages.
My question is: Is it possible to auto-re-size box height depending on rows content, so I can avoid empty spaces at the bottom on every page (doesn't look very nice).
Thanks in advance.
There are three things I can think of that might help.
As you said, you can limit the maximum size of a "can grow" field. To the right of the can grow checkbox (in CR designer) there is a "Maximum number of lines" value that defaults to 0 (no limit). You can set that to however many lines you like.
The details section itself has a setting for "keep together" too -- right-click the details section label and go to the section expert. If you uncheck it there the details section will start on the bottom of the page and continue on the next one.
Look at the page footer section, it is printed at the bottom of each page, and if it is large, it takes away from the available space for the data. Group footers, if you have any, could give you the same problem.

How to align lines in Crystal Reports

Is there a good way to make horizontal lines actually line up in Crystal Reports? I can select text and field objects, right-click, and do various sizing and alignments. But that's not an option with a line. I need header fields underlined (and for whatever reason, our standard says to NOT use underline), and I want them to line up across the report.
It's a pain, but I've found one way to do it.
Both field and line items have a right-click menu option called "Size and Position". It doesn't take just any value, especially with Snap to Grid turned on (and doesn't always take exactly what you choose with it not turned on), but you can carefully make sure each line has the same Y value (for horizonal lines). And, if you want them to align and be the same length as the field headers they are underlining, compare each header field X and Width values, and make each line also match that.
In design mode, you can add horizontal guide lines by clicking in the ruler (the vertical one) fields will get sticky to it.
You can also select several fields, right click "Align > Bottoms" and them move the fields to the guide lines.
You can also format a single field to "lock its position and size", then Align the others to it
Another way is to select all the lines you want to left align, move them to the far left with the left cursor key until they hit the left margin and keep pressing the left key until they all align themselves. Just a trick!
Put a bottom border on the header Text Object.