How to adjust Report Field Height at run time - vb.net

I'd like to adjust Report field height at run time. Please see my report design and review with data below
In the 2nd image, at the 3rd and 4th row of "Wine" column, if the
data length is enough for a line, I'd like to adjust its height into
a line (And also bottom line object be followed by it). Otherwise, let it be two lines. Please share me which
property I'd set.
PS: In page header, I use box object. But in Details section, I just use line object because in report footer, I need to show Total amount. If I use a box in these three sections, there is the box is expanded the whole page without having detail rows at the last page. I'm not a report expert. If I'm wrong in something, pls feel free to tell me. Thank you.

Crystal will never shorten boxes, lines, or fields, so you need to make them small and mark them Can Grow. Here's a way to do that and make the line draw below the field, even if the field does grow.
Mark the text field Can Grow.
Shrink the text field down to the minimum, one-line size you want.
Right-click the detail section and select Add Section Below.
Move the horizontal line at the bottom of the first detail section to the top of the new detail section, and extend the vertical lines down to it.
Shrink both the detail sections tight to their contents.

Related

Access Report: Wrap Text Not Working

I have a report with unbound textbox's in them. I populate these fields onLoad.
The problem, though, is that the if the text is too long, it will not wrap. I have set Can Grow = Yes but this does not seem to work.
Is it due to the fact I am adding the string to the field OnLoad? If so, how can I overcome this and force the text to wrap? I would want the width to remain constant, but the height to grow.
Figured this out... I right clicked the text box and selected Size > To Fit...
I had the box big enough to accommodate a second line. It wouldn't ever word wrap until I made the change above. Can Grow and Can Shrink did nothing, but I left them selected.
I open report from code in design mode, make changes to control source of the text fields, save and close report and lastly open it in preview mode. The only way I get what I want.
I know this is an old post but I've been running into the same issue and haven't been able to figure out a solution until now.
One of the fields in print preview was getting cut off for me and despite my best efforts to make sure all the formatting settings were correct (i.e. Can Grow/Shrink: On) for both the detail section and the specific field. Again, this issue only happened in print preview, which meant the reports that were getting printed had the text cut off.
Solution:
I ended up realizing that all of the other text fields were set to Plain Text and the text field giving me the issue was set to Rich Text. I changed it to Plain Text and voila! It displayed everything without any issues.
My guess is that if you're having this issue, make sure all of the fields are set to the same property (Rich Text/Plain Text). Not sure why Access has trouble with this but I hope this solution helps someone else out.
The simple solution to this huge problem is listed below.
Convert the property of the textbox from plain text to rich text.
Set the text align property to distribute.
Enable can shrink and can grow property of the text box. (Yes)
Done.
After a lot trial-and-error, the solution seems to be that the text box that you want to scroll must have enough height to show two vertical lines. A textbox that is only one line high will not scroll. (You must also have Can Grow set to 'Yes' for both the textbox and the detail section.)
You also have to have the CAN GROW of the section that the text box is in set to YES as well as the text box.

How to put a table at the bottom of a RDLC report page?

I have been pulling my hair for a few days on this problem. I want to keep a table at the bottom of the first report page, NO MATTER how much other content there is (less than one page or more than one page). In other words, I want the table to behave just like a footer which is set to be printed only on the first page. However, as you may all know already, tables can't be put into a page footer in RDLC report (what a pity!).
I know I can put the rest content in a rectangle and consume the white space if there is any. However, this only works when my report is less than one-page. My table will be pushed to the next page if the content length in the rectangle exceeds the rectangle length.
Btw, I'm using VS 2012. Any help would be much appreciated!

Dynamic Data in an RDLC Report Footer across Multiple Pages

I created an RDLC report (based on a stored procedure) that contains lists. I need to display data from one of those lists in the report footer across every page. However this data only shows in a list on the first page, so that is the only page on which it shows in the footer also. I’ve researched this but haven’t found much information. Does anyone have a solution for this?
Something you can try, don't know for sure if it will work. Create a formula that returns the data you want to display, then put the formula field on a text area in the footer.
I ended up placing a textbox in the second page area, setting the text color to white and sending it to the back. If I hid the textbox (or table - I tried that too), the footer object could not reference it. So, setting the text color to white and placing it behind another object worked. It seems like this is a kludgy way to do a simple report operation but is apparently necessary.

SSRS05 A one page report in preview shows a second page with only footer in print layout

I have a user sign off report where it shows a users rights/access to the system which all fits nicely onto one page when I hit preview. However when I then go to print layout it shows me two pages with the second page only containg the footer.
Any ideas please?
Are you sure the page size matches the paper size?
If so, have you tried setting the page footer's PrintOnLastPage property to false? Then again, if you really need that footer to be there (seeing that there's only one page), you might have to try fiddling with the margins to get it to fit within the first page.
The report size at design time, plus the margins must be less than the paper size. Sometimes you can have a report that is too wide that is essentially generating a blank page "to the right" rather than underneath the first page.
Yes I have scrunched it all up so that it is WELL within the page size and I have tried all combinations of Footers (and headers).
It is a slightly wierd report in that it has fields that need to grow to show all the information and a small table too, but even at full growth the data looks like it fits on one page (in preview in Visual Studio) but as soon as it goes to print preview and printing it reverts to two pages.
Make sure you do not have extra area to the right of the last field of the report.
Are you sure you've adjusted the report's display size in the property sheet, too?
Hope this helps,
Bill

How to get rid of blank pages in PDF exported from SSRS

I have a two-page SSRS report. When I exported it to PDF it was taking 4 pages due to its width, where the 2nd and 4th pages were displaying one of my fields from the table. I tried to set the layout size in report properties as width=18in and height =8.5in.
It gave me the whole table in a single page of PDF, but I am still getting the 2nd and 4th pages blank.
Is the way I am doing it incorrect? How else can I get rid of those blank pages?
In BIDS or SSDT-BI, do the following:
Click on Report > Report Properties > Layout tab (Page Setup tab in SSDT-BI)
Make a note of the values for Page width, Left margin, Right margin
Close and go back to the design surface
In the Properties window, select Body
Click the + symbol to expand the Size node
Make a note of the value for Width
To render in PDF correctly Body Width + Left margin + Right margin must be less than or equal to Page width. When you see blank pages being rendered it is almost always because the body width plus margins is greater than the page width.
Remember: (Body Width + Left margin + Right margin) <= (Page width)
Another thing to try is to set the report property called ConsumeContainerWhitespace to True (the default is false). That's how it got resolved for me.
After hours of struggling with this problem, I stumbled upon a solution that worked for me:
In SSDT (2012), I had originally had my Page Setup/Page units set to Centimeters. When I changed this to Inches, strangely enough, I was able to export my report to PDF without having every other page be blank.
It is better to do this on the design surface (Visual Studio 2012 is shown but can be done in other versions) first before calculating any maths when editing an SSRS document.
Below the following numbers in red circles that map to these following steps:
In the design surface, sometimes the editor will create a page which is larger than the actual controls; hence the ghost area being printed.
Resize to the controls. Visually look at the width/height and see if you can't bring in the page on the design surface to size it to the space actually needed by the controls and no more.
Then try to create a PDF and see if that fixes it.
If #3 does not resolve the issue, then there are controls requiring too much of the actual page size and going over in either length/width. So one will need to make the size of the controls smaller to accommodate a smaller page size.
Also in some circumstances one can just change a property of the report page by setting ConsumeContainerWhitespace to true to automatically consume the spaces.
The problem for me was that SSRS purposely treats your white space as if you intend it be honored:
As well as white space, make sure there is no right margin.
If the pages are blank coming from SSRS, you need to tweak your report layout. This will be far more efficient than running the output through and post process to repair the side effects of a layout problem.
SSRS is very finicky when it comes to pushing the boundaries of the margins. It is easy to accidentally widen/lengthen the report just by adjusting text box or other control on the report. Check the width and height property of the report surface carefully and squeeze them as much as possible. Watch out for large headers and footers.
I have worked with SSRS for over 10 years and the answers above are the go to answers. BUT. If nothing works, and you are completely stuffed....remove items from the report until the problem goes away. Once you have identified which row or report item is causing the problem, put it inside a rectangle container. That's it. Has helped us many many times! Extra pages are mostly caused by report items flowing over the right margin. When all else fails, putting things inside a rectangle or an empty rectangle to the right of an item, can stop this from happening. Good luck out there!
In addition to the margins, the most common issue by far, I have also seen two additional possibilities:
Using + to concatenate text. You should use & instead.
Text overflowing the width of the specified textbox. So if your textbox only holds 30 characters and you try to cram 300 in there, you might end up with extra pages.
Have you tried to see if there is any white space on the right of your report? If so you can drag it back to the end of your report and then drag the report background back to the same spot.
On the properties tab of the report (myReport.rdlc), change the "Keep Together" attribute to False. I've been struggling with this issue for a while and this seems to have solved my issue.
I recently inherited a report that I needed to make a few changes. After following all the recommendations above, it did not help. The report historically had this extra page, and nobody could figure out why.
I right clicked on the tablix and selected properties. There was a checkbox checked that said add a page break after. After removing this, it prints on one page now.
I fixed this issue by doing the following. ( Using the latest version of Report Builder )
Step 1.) Go to View Tab
Step 2.) Check the Properties checkbox
Step 3.) Click inside the body of your report (it will update values in properties tab)
Step 4.) Take not of the width here
Step 5.) Right click in the gray area outside the report and click report properties
Step 6.) Add your left + right margin to your body width ( if that equals 10 then make your width 11)
Step 7.) Save
If your report includes a subreport, the width of the subreport could push the boundaries of the body if subreport and hierarchy are allowed to grow.
I had a similar problem arise with a subreport that could be placed in a cell (spanning 2 columns). It looked like the span could contain it in the designer and it rendered fine in a winform or a browser and, originally, it could generate printer output (or pdf file) without spilling over onto excess pages.
Then, after changing some other column widths (and without exceeding the body width plus margins), the winform and browser renderings looked still looked fine but when the output (printer or pdf) was generated, it grew past the margins and wrote the right side of each page as a 2nd (4th, etc.) page. I could eliminate my problem by increasing colspan where the subreport was placed.
Whether or not you're using subreports, if you have page spillover and your body design fits within the margins of the page, look for something allowed to grow that pushes the width of the body out.
Make sure the designer in visual studio is not going beyond your max width. Hover over the right page border and drag to the left to make sure the page does not go over your desired layout.
I just reduced all elements Width shorter than 8 inch and it is being corrected,
I did that with mouse,
your report Body should be shorter than 8 inch.
I've successfully used pdftk to remove pages I didn't want/need in pdfs. You can download the program here
You might try something like the following. Taken from here under examples
Remove 'page 13' from in1.pdf to create out1.pdf
pdftk in.pdf cat 1-12 14-end output out1.pdf
or:
pdftk A=in1.pdf cat A1-12 A14-end output out1.pdf