SSRS Report renders differently in Browser to Report Builder - reporting-services

SSRS 2017 Report Builder correctly renders report with drilldown buttons and field data. When rendered in the browser both the drilldown and field data are not visible.
Edge, Chrome and IE all hide the field with the drilldown button on it.
The fault appears to lie with css in .MSRS-RVC .tdResizable overflow:hidden, as if this is unticked (both in Chrome & IE Devtools) the fields are correctly shown, and work normally.
Edge screen grab showing missing fields:
Report Builder Screen shot showing how it should look with drop down buttons
SSRS Version
I have tried editing 'C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\Styles\htmlviewer.css' by adding
.MSRS-RVC .tdResizable {
overflow: visible !important;
}
to the bottom, however this has made no difference (I have restarted SSRS, but have not rebooted the server). Not sure I'm looking in the right place really...

I have modified the 'Can Grow' attribute to True on the field that was not visible, and this has resolved the issue. This should not really have made any difference, as the data is a fixed length and the report was easily wide enough to accommodate it (I even made it much wider to it to see if that was an issue), but that made no difference.
I can only presume that, in the background, the addition of the + button exceeded the row height set. This was working just fine with previous versions of SSRS, so the 2017 version must have a larger image for that button for some reason!
Hope this helps someone else in future!

Related

SSRS Report to show hide a message based on the browser the report is loading in

Does anyone know if I will be able to show/hide a message on ssrs report based on the browser the user is using to view the report.
Basically I have got into a difficult situation where I have built a report which was needed, however for some reason it does not load in Internet Explorer. All the graphs get jumbled up when IE is used to view the report. But the report is good on Google Chrome.
So I want to display a text which checks if the browser is Chrome, if No - displays a text message that the report needs to be loaded in Chrome. However when it is loading in Chrome the text box is hidden using the show/hide property for the text box.
It is sloppy now but that's all the time I am left with to invest on this report for the team. please can someone help.
Have a look at the following link:SQL Server Reporting Services

SSRS Report - Removing right side white space

I'm developing an SSRS report in Visual Studio 2012. The report is set up to use landscape orientation. There is a 0.25in margin on the left and no margin on the right. The report is 10.5 inches wide. ConsumeContainerWhitespace is set to True. There are no hidden objects outside of the normal report area.
When I look at the report in print view or actually print it out there is a huge amount of white space on the right side of the report. It's almost like the report is being shrunk and then left justified when printing.
I would love to get this fixed so the report prints the same as it looks in the designer. If anyone has an opinion or some input it would be most welcome. Thank you!
This problem appears when a Windows 10 user has their DPI set to a value that is higher than %100. If DPI is set to %100 then the issue does not occur and no white space is seen when doing a print view or actually printing the report.
This is a common issue with Windows 10 and certain applications including ClickOnce apps like the one I'm using to run the reports. There does not seem to be a way to fix this from within Visual Studio as you can't make an application DPI aware that uses the ClickOnce deployment model.
The following steps will fix a Report temporarily until it is updated and the .exe is overwritten. This fix will also work for other Windows 10 apps, including Chrome, that appear blurry from using a custom DPI over %100. Be aware though that while this fix will fix blurry fonts in a ClickOnce app and white space in an SSRS report it can also disturb control positioning and form size.
Navigate to C:\Users\\AppData\Local\Apps\2.0
Under the 2.0 directory you will see one or more folders that are named with a random set of letters and numbers. Within these directories you must find the folder for the desired application. The folders will usually start with the first 3 or four letters of the application but there can be more than one folder that exists for your application.
Locate the .exe for your application. There may be more than one .exe for your app so apply this fix fix to all of them just to be sure.
Rightclick on the .exe and select properties and click the Compatibility tab.
Check the Disable display scaling on high DPI settings checkbox and click OK
Rerun your application and create a report that opens the report viewer.
Click the Print Layout button. The report should now be displayed with no white space on the right.
Print the report. There should be no extra white space on the right side of the report.
You can also work around the issue by temporarily setting your DPI back to %100 but I think that is a poor solution.
If it is a matrix report, you may also try setting the ConsumeContainerWhiteSpace to true. It is Report level property that you can find under "Other".
or else if it is a tabular report then adjust the margin and width accordingly.
Here the link of the answer:
https://social.msdn.microsoft.com/Forums/Lync/en-US/4a965d5c-0906-4690-a995-35aae594018c/how-to-avoid-empty-space-in-right-side-of-the-ssrs-report?forum=sqlreportingservices
You have me stumped but things I would check:
There isn't a textbox or label or something pushing past the boundary of the expected margin. This causes the report to print like what you are seeing. Just expand the report and make sure everything is actually less than 10.25 inches.
Is your paper size set to letter?

Freeze column headers in browser while scrolling

I am trying to freeze all column headers in a report when scrolling down. I have read numerous articles about how to go to Advanced Mode, select the header and set FixedData to True, KeepWithGroup to After, RepeatOnNewPage to True. That works when previewing a report, but it does not work in a browser. I have tried using IE 11, Chrome, and other browsers, but none of them fix the column headers while scrolling.
I have spent hours trying to get this to work and have read articles such as:
Freeze column header while scrolling
and
Freezing column headers while scrolling in SSRS, but none of them accomplish this in a browser.
I tried creating a simple table report from the report wizard and following these instructions, but it still does not work. This is very critical to get working in order to use SSRS. I am using SSRS 2012. Any help would be greatly appreciated.
It's crucial to select the correct "Static" member before setting those properties. For your scenario I think you want the Static member within the Row Groups list.
If there are several "Static" members, select them in turn and note where the selection box moves to in your tablix - this can help pick the right one - usually the last.
My favourite post on this is from Robert B:
http://blogs.msdn.com/b/robertbruckner/archive/2008/10/13/repeat-header-and-visible-fixed-header-table.aspx
Good luck - this is still such an unbeleivable mess after 5 years and 3 releases ...
This is a crazy idea, but instead of using the Report Viewer, could you render the report to HTML and add it to a web page that has a CSS class that will change the header to position:fixed;?
It appears fixed headers simply do not work in the ASP.NET Report Viewer control. I have a simple aspx page with the ReportViewer control on it, testing it in IE 11. The fixed headers work in the Preview and Report Manager, but not the ASP.NET Report Viewer control.
Therefore, I decided to simply show my reports using the built-in Report Viewer instead. Fixed column headers work that way.
I just spent a couple of days investigating this exact issue. Worked in preview, didn’t when deployed. I had noticed my fixed columns stopped working a few years ago.
My break through was when I started testing using a fresh SSRS 2012 install the freezing rows and columns worked perfectly. By comparing the differences between that and my live system I found the issue was changes made to ReportingServices.js to fix blank reports showing in Chrome.
Forcing el.style.overflow = "visible" instead of its default of “auto” breaks the freezing in IE. Our web developer changed the if statement so it doesn’t do the replace for IE by checking a non IE function exists (window.addEventListener).
if (el && window.addEventListener)
el.style.overflow = "visible";
So the complete code added to a fresh ReportingServices.js is the following
function pageLoad() {
el = document.getElementById("ctl32_ctl09"),
//Fix Chrome invisible report
if (el && window.addEventListener)
el.style.overflow = "visible";
}
if (window.addEventListener) {
window.addEventListener('load', pageLoad, false);
} else {
window.attachEvent('onload', pageLoad);
}
C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportManager\js\ ReportingServices.js
I was able to get my column headings to freeze in IE 9. IE 11 was having issues. IE 11 also did not display vertical and horizontal scrollbars
The Solution (for me) was to put IE 11 to compatibility mode.
Instructions to use compatibility mode.
1) Right click the top of the window and then choose to show the "menu bar"
2) in the menu click tools
3) Click "Compatibility View" to add the current web url to the list of pages to show in the compatibility view, this list can be managed by rather clicking "Compatibility View settings"
Hope this helps.. I could not find this documented elsewhere.

SSRS - Fixed column scrolling not working when viewed in Browser

I have created a report which has too many columns to display on the screen.
As such I have set the leftmost column as Fixed Data to make the report readable.
When previewing the report through either Visual Studio or Report Builder the freezing of the columns works without problems but when running the same report through Report Manager (no matter which browser I use) the columns do not freeze.
I have tested and get the same issue when freezing header rows and have tested with several new and previously existing reports.
The strange thing is I could swear this has worked correctly in the past.
I had this issue while working with SSRS 2008 and trying to display the report with Internet Explorer 11. I solved the problem on Internet Explorer 11 by going to the Tools option menu (gear icon on the right upper corner of the screen). Click on Compatibility View Settings. On "Add this website" textbox, you should be able to see the domain of your organization, something like "organization.com". Click on Add. Leave "Display intranet sites Compatibility View" and "Use Microsoft compatibility lists" checked as it comes by default. Click on Close. You should see IE changing its appearance now a little bit. Test the report again. Next time you open the web browser, it will have this configuration already set.
It only works if you collapse the show/hide report parameters bar.
Once you have hidden that the fixed rows and columns will work just fine in the browser.

VisualStudio Report Viewer not rendering report body in Chrome

I'm aware that Chrome is not supported - http://msdn.microsoft.com/en-us/library/ms156511.aspx for the Report Viewer.
The solution here has not worked for me
ReportViewer problem in google chrome unfortunately
In our case the report body is blank. I have come across solutions to report height issues and distortion issues in the tool bar but in my case I have yet to get to that stage.
When I navigate to the Report Manager in Chrome I can see my reports [They are not perfect but are at least showing the report body]
http://localhost/Reports_SQLSERVER2008/Pages/Report.aspx? [clipped]
I have 2 questions wrt this issue and I hope someone will be able to shed some light on them.
Why would the report viewer in the Report Manager render the report body in Chrome while the VS 2010 Report viewer control will not. [Leads me to believe that the Viewer can render in Chrome so it may be something I can change].
Is it possible to extend the Report Viewer to at least render the body in Chrome.
All other browsers are fine.
Its an ASP.Net 4.0 web form app using the VS 2010 version of the report viewer on SQL Server 2008 [Moving to 2008 R2 in a short while].
I'm at the stage also where it may be the case that the effort required to resolve this issue cannot be justified. I expect there may be other problems such as parameter selection etc. I'd like to hear your thoughts.
Thanks in advance,
Rgds,
Liam
This is the fix that worked for us but is specific to our implementation.
We have the ReportViewer wrapped in a user control and this report viewer user control is used in 2 places in our Asp.Net app.
On a basic Reports page
On a webparts [Dashboard] page. Each web part contains a Report Viewer user control.
In the markup of the Report Viewer user control we set the height of the Report Viewer to a large number in Pixels. i.e. 1200px.
The report body renders in Chrome on the reports page and on our dashboard page.
As the reports page displays 1 report at a time the height setting is not an issue
In the dashboard we already expose a personalisation property of the webpart containing the report path which allows us to load what ever report we require.
We also expose a new property to store the hieght of the report in the personalisation framework and this in turn sets the height of the report viewer as required by the user.
Liam
I experienced the same problem: a blank body. Only the toolbar was visible. Using browser developer tools, I was able to find out that if I put an height of 1000px on the div that contained the report viewer, the content would be become visible.
Then, I found a property SizeToReportContent, which, if set to True, makes the content render correctly.
This property is available in the ReportViewer control in Microsoft.ReportViewer.WebForms, Version=10.0.0.0. I use local reports.
The fix that worked for me was setting: asyncrendering="False"