Have you ever had to use the Report Server in Firefox? If you did it, you noticed that there is a problem with the display of the report viewer in that browser.

Basically, the problem is because initially the browser loads the default size of the report viewer control. Once the data is loaded, the browser doesn’t resize it.

To solve it, you can install a plug in, which can be downloaded from MS Report Server Fixes. The problem with this solution is that you have to install it in each computer that will accesses the report server.

But you can take the great idea of Jim Wilson and implement it in your report viewers control. In my case I improved the code to give a better layout:

  <script type="text/javascript">
      function Load() {
          if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
              if (document.getElementsByTagName('iframe').length) {
                  // Add a new style node to make sure all iframes are affected - even those not yet in the DOM.
                  var style = document.createElement('style'); 
                 style.appendChild(document.createTextNode('iframe{position:absolute;z-index:1}'));
                  document.getElementsByTagName('head')[0].appendChild(style);
              }
              if (document.getElementsByTagName('style').length) {
                  // Grab the inline style element and filter out bad values.
                  var styles = document.getElementsByTagName('style');
                  for (var i = 0; i < styles.length; i++) {
                      var style = styles[i];
                      style.innerHTML = style.innerHTML.replace(/overflow-x:hidden;?/, '');
                  }
              }  
          document.getElementById('ReportFramectl146').style.width= document.documentElement.clientWidth;  
         document.getElementById('ParameterTable_ctl146_ctl00').style.width= document.documentElement.clientWidth;  
         document.getElementById('oReportDiv').style.width= document.documentElement.clientWidth;
          }
      }
  </script>

 Then, call the function in the page load event. For instance:

<body style="margin: 0px; overflow: auto" onload="Load()">

I already fixed it in the Report Manager and the Report Server. You can download the following files and overwrite them in their respective folders of your server:

Report.aspx to be pasted in C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\Pages

ReportViewer.aspx to be pasted in C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportManager\Pages

So, now you’ll see the reports properly in Firefox.

References:

[1] Jim Wilson, http://userscripts.org, 2006

[2] Sergio Tarrillo, http://geeks.ms/, 2008

Cuantas veces te han solicitado la creación de una ayuda o tutorial para poder aprender el uso de Imagen tomada de http://helpmaker.softonic.com/una aplicación o proyecto en el cual estás participando o desarrollando. O por otro lado, con el fin de darle una valor agregado quieres insertar un espacio que se utilice como guía de uso.

Normalmente ese tipo ayudas se crean en Word y se convierten a PDF o página web. Algunas veces no queda mal, pero sinceramente no es el apropiado para este tipo de trabajos, porque es un editor de palabras, no de ayudas.


Para ese tipo de trabajos existen varias aplicaciones en el mercado. Sin embargo, mi aplicación favorita es HelpMaker, un programita muy sencillo de utilizar. Entre sus funciones pueden exportar el proyecto como WinHelp (esas ayudas comunes con el ícono amarillo) o en HTML (página web).

Sitio oficial de la aplicación: http://www.vizacc.com/
Enlace adicional: http://helpmaker.softonic.com/

Actualización 1: Algunas veces me ha ocurrido que el programa se vuelve tan popular que lo convierten en una aplicacíon comercial, si eres usuario de Hotmail puedes descargar la versión 7.4.4 de este sitio SkyDrive