The width of the bar chart throughout the series is automatically reduced to barely visible (for each value) to accommodate the rendering of a large report i.e. extremely long x-axis
Each bar in the report is 1-2 pixels in width and in some cases looks like they are rendered inside each other.
I'm looking to keep the original width of each bar and render a scroll bar instead or something that allows this to be readable. Any suggestions?
Yes. I'd make the width of your chart dynamic in that you increase its width based on a count of the columns produced.
I haven't tried this but everthing seems to have an expression ability in report builder.
Related
I want to show image into each cell of tablix. Images are different height. So I must to set display to be Original Size only.
Inside record be assigned by Image. The image get from some column which stored Byte() Array.
Images includes 3 height such as H, H/2 and H*2.
I try to use subreport for supporting different 3 heights and used Hide/Visiable for select one.
But speed of rendering is slow around 7 seconds. It isn't great enough.
So I must use image into the cell without subreport. But I don't know how to prepare a image for fit in report scale . For example, if I want to show image in each row is 3 cm. What resolution I should make the image?
In the design view of SSRS Report Builder, the developer had set the custom attributes for the bar "PixelPointWidth" to 30.
The width of the bar in the bar-chart is appearing good while viewing the report in the browser. However, when trying to export it to pdf or to print the report, the width of the bar in the bar-cart becomes very thin and the text labels within becomes almost unreadable.
Same scenario happens with stacked-bar-chart as well. Tried changing the pixepointwidth and other related parameters but in-effect the issue remains as is.
I'm not sure why the PixelPointWidth would not be left as default, maybe the developer thought this was the way to adjust the width of the bars (which it does, but not directly).
What you should probably do is set the PixelPointWidth to 0 (default) and then adjust the PointWidth property instead, so that you get the desired width.
PixelPointWidth (I think) sets the datapoint width to an exact number of pixels, depending on how you render the report, that will result in different physical dimensions (150 pixels at 100dpi is roughly 38mm but at 150dpi it's approx 25.4mm)
Here's an exmaple where I set the top bar to PixelPointWidth=40 and the bottom bar to PointWidth=0.5 . In design view, on my monitor, it appears the top bar is slightly smaller than the bottom bar.
When previewed (screen rendering) they appear more or less identical heights.
When I render the report to a PDF they look totally different.
As I said earlier, if you set the PixelPointWidth to 0 (default) and then adjust the PointWidth as a percentage of the default gap between categories then you should get much more consistent results. If you set the PointWidth to 1 there will be no gap between each bar, if you set it to 0.8 (default) then the bar will consume 80% of the space and the gap will consume the remaining 20%
Currently I have set the left menu of page with percentage 20% of body width. However, I'm using this to make the menu stay the same place when I zoom the page. Now i want to use pixel for it,but i know when using fixed pixel, if we change screen,the menu width still stay the same and it look imbalance.
I have searched around and found 2 ways : using media query or using javascript trick. If i using query, i have to repeat for many different resolutions. The Javascript way seem to be dirty.
So, is there any other way to dinamycally change the size of element base on screen size with pixel ? I see web like Facebook or W3school have the left menu in pixel,and when i open the page in a bigger screen,the width increase. How can i do like that ?
I'm writing a script to output things to a window comprising a Tkhtml widget and a text widget displayed above each other in a ttk::panedwindow. Both widgets are scrollable both vertically and horizontally. There's also a button allowing the user to clear the text widget.
I'm doing some of the development on a laptop running Ubuntu. The window manager allows for four desktop workspaces in a 2x2 array, and when the GUI is first displayed, the bottom fifth or so bleeds from the workspace I'm using into the one below. It's irritating to have to muck around resizing the window to make it short enough to fit onto the screen so I want to resize it.
(I think) I know approximately how to do this, i.e bind to an appropriate event so that I can run a script when the window is first displayed. (Reset the binding from within the script so that it only fires once.) I believed that the "appropriate event" was <Map>, but when the window was first mapped, the two widgets had zero height (as reported by [winfo height]). I tried binding to <Expose> and this seems to work, ([winfo height] returns sensible numbers,) so:
Question 1: Which event should I bind to?
When the binding fires, [wm geometry] reports the geometry as 815x1029+49+24, [winfo height] reports the two heights of the two widgets as 600 and 366, and [wm screenheight] returns a height of 800. I know there are various other bits and pieces in the GUI so I'm not surprised that there are 63 pixels unaccounted for in the initial layout. I assume that I need the same amount of space after resizing, so I should request a geometry of 815x737+49+24, but when I do, a sliver (approximately the lower horizontal scrollbar) still bleeds onto the next workspace.
By mucking around manually, I know that when everything fits nicely onto the screen the geometry should be 815x717+49+24, so I've added a fudge factor of 20 to the amount of space I allow for the "other bits and pieces of the GUI". This works fine but seems a little inelegant (massive British understatement :-) ), so:
Question 2: What have I missed, requiring use of a fudge factor?
I'm using Tk 8.6.1 on Ubuntu 12.04.5 LTS. I'm using version 0.9.7.12 of the Compiz window manager.
Update
It struck me that I ought to find the height of the various panes, rather than the Tkhtml and text widgets as that would account for the scrollbars and the "Clear" button. The pane heights are 615 and 409 initially, but this just means that I have to increase my fudge factor from 20 to 78 to get the request height to my desired value of 717. Is there any way to predict what height to request for the toplevel containing my paned window in order to get that toplevel to fill the screen?
I recommend binding to <Map>. I would wait for all of: the paned window, the main tkhtml window, the text window and the scrollbars to be mapped before trying to adjust heights.
For Linux, the [winfo screenheight .] does not know about any panels that are configured, so you have to subtract those. You can get the actual screenheight available by creating a window, doing a wm attributes . -zoomed 1, then getting the geometry of the window.
The title bar and borders of the window take up space. The space needed for these can be calculated by comparing the output from [winfo geometry .] and [wm geometry .].
There is also the panedwindow sash height and any margins and padding.
You can calculate the total of these by subtracting the panedwindow heights from [winfo height .].
Here is one method that would always work, however, it is not very attractive, as the user would see the windows flashing as they change size.
Maximize the window (wm attributes . -zoomed 1)
Get the window geometry and parse out the screenheight.
De-maximize the window (wm attributes . -zoomed 0)
Get the window geometry and replace the screenheight
with the maximized screenheight.
Set the window geometry.
I have a Label with this meassures
Heigth = 8cm
Width = 10cm
And need to print in portrait mode, the problem is that report builder allways change it to Landscape mode
How can I do to force Report builder to accept my meassures without changhing the orientation?
A page that has the top edge longer than the left edge is Landscape; those with a longer left edge than top edge are portrait - that's just the way it is by definition.
What you actually want to do is rotate the output of your table so that when you peel off the label, the text on it is oriented as if it is portrait.
Given you are on 2008 R2 you can set the table cell's WritingMode property to Rotate270. You'll need to resize your cell dimensions to accommodate your text and have your data in columns rather than rows. So your Detail row will be 8cm high and 10cm wide with a number of thin, high columns for your data with the text rotated 270 degrees. Ensure that the report project's TargetServerVersion property is set to SQL Server 2008 R2 or it won't support the Rotate270 option. This should give you the result you are after.
Failing this, you could create a table with a single Detail cell the size of your label, place an image in the cell to fill it and draw the text on that image in the orientation that you want using custom code. Here is an example of how to do this with a code sample.
If you right click the blue background and go to Report Properties, you should see an Orientation selection there. Make sure that's set to Portrait.
If it is already Portrait then the problem is likely to be that the body of your report is too wide for the Paper Size you have selected.