How to align lines in Crystal Reports - 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.

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.

How to make part of my sentence left aligned and rest as right aligned

Let say I have a sentence as This is my whole sentence.
Now I want a part of above sentence This is left aligned. And the remaining part of same sentence my whole sentence as right aligned.
I basically wanted to have option to configure Footer of my document, as part to go left side and another part on the right side.
Is there any way to achieve this with Libre-office writer?
Any pointer will be highly appreciated.
This is done using a tabulator - the tabulation character is entered from the keyboard using the Tab key, and the result of its application is controlled by the type of tabulator and its position on the ruler.
The video shows the formatting of the Header with a Tab. The same steps apply to both Footer and normal paragraph text.
Enter the text you want
Remove unnecessary (preset) Tabs from the Ruler - just drag them aside
By clicking on the Tab Type icon in the upper left corner, set the desired type of future tabulator
Place the cursor in the desired place of your text and press the Tab key
Tab types change cyclically with each click - Left (default), Right, Center, and By Decimal Separator (used to align numbers).
Use the Edit Tabs to fine-tune tab stops

Bullet list text indent/align after tab

What I'm trying to do is create a bullet list in 'two columns'. So you have the bullet, a word, a tab and some aligned text like in the example below.
You have several alternatives:
Create a two-column table, with invisible lines. Fill the first column with your "bullet" word, and the second column with your "definition" (or whatever you are putting there.
Adjust the formatting for your special list item to include a tab where you want the text to appear and provide a "hanging indent" that lines up overflow text with that tab.
The second option is probably the best for you.

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.

Hide row (and remove whitespace placeholder) of tablix in Reporting Services 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.