Reporting Services
  • Page breaks neasteptate
    • Trebuiesc verificate dimensiunile pentru Report, iar dimensiunile pentru Body trebuie sa fie mai mici sau egale decat dimensiunile Report din care se scad Margins.
    • La dreapta entitatilor nu trebuie lasat spatiu liber. Ever. Mai ales daca entitatile se pot redimensiona. Ideea e ca Reporting Services va afisa acel spatiu cel putin in renderer-ul de PDF + cel de Print, si daca nu are loc in pagina curenta, va crea o noua pagina pentru el. You have been warned.
    • Mai e posibil sa fie din cauza altor subrapoarte ale raportului, a caror latime este mai mare decat latimea specificata in raportul principal (cazul meu: raportul principal avea latime de 7.7in cu margini de 0.15in, iar subrapoartele aveau latime de 8.5in cu margini de 1in :) - e suficient sa fie si un singur subraport cu latime aiurea).
  • Patrat negru aparand in cazul unor tabele cu coloane ascunse si border solid.
    • Se schimba valoarea Default a border-ului pe None, si se pune Solid pe laturile Top, Bottom si Left. Pentru latura Right se seteaza border-ul pe coloane (si nu pe tabela).
  • Coloane statice si dinamice in aceeasi matrice.
    • Se folosesc groupuri statice si o tabela ca header.
    • Saaaaaau, intorc o tabela continand cate un rand pentru fiecare valoare, si aplic criteriile de grupare.
  • Rapoartele crapa in IE, dar merg exportate in PDF (cannot set valid values to all parameters, or smth)
    • De verificat daca raportul principal (cel lansat, nu subrapoartele) are parametri cu valori default. Daca are, trebuiesc scoase valorile default.
  • Renderer-ul de PDF face trim pe textul textbox-urilor, asa ca nu se afiseaza caracterele newline de la inceputul stringurilor.
    • Se concateneaza textul cu Chr(30) (ex: =Chr(30) & First(Fields!Introduction1Title.Value, "ReportSettings"))
    • Daca nu se vrea newline, ci doar deplasarea textului la dreapta, se poate folosi padding.
    • NOTA: chestia asta o sa faca primul caracter sa se lateasca un pic spre stanga si nu vor mai fi aliniate.
  • Join intre doua DataSource-uri diferite
    • ex: o lista de persoane, si fiecare element din lista are o lista interioara cu cartile cumparate de fiecare persoana; 1 datasource pentru persoane, 1 datasource pentru carti, legat prin IdPersoana.
    • Din cate stiu, se poate doar prin subrapoarte. Cel putin in RS2005 este asa.
  • ReportViewer-ul nu umple pagina in care e plasat
    $(document).ready(function() {
            updateReportViewerHeight();
 
            $(window).resize(function() {
                updateReportViewerHeight();
            });
        });
 
        function updateReportViewerHeight() {
            $('#reportViewer').height($(window).height() - 50);
        }
  • **Folosirea datelor din dataset-uri in header/footer - Fields cannot be used in page headers or footers. **
    • Trebuie pus un textbox (or something) in body, care textbox sa contina valoarea dorita. Si se apeleaza textbox-ul in header/footer (=First(ReportItems!LastName.Value)).
    • NOTA: daca textbox-ul nu apare intr-o anumita pagina, atunci in header-ul paginii respective nu se va prelua valoarea lui - deci ar trebui repetat cumva.
    • http://msdn.microsoft.com/en-us/library/aa179209(SQL.80).aspx
  • Data set name is missing in the data region 'DataSetName'
    • Se intampla in cazul unui raport cu mai mult de un data source, care contine cel putin un control gen repeater (List/DataTable/Matrix), care control nu are nici un DataSetName setat
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License