none
Tratamento de relatório sem dados de retorno RRS feed

  • Pergunta

  • Pessoal,

     

    ao gerar um relatório utilizando report viewer eu percebo que, quando sao passados parametros em que não me retornam dados, o relatório fica somente vazio, sem informações (conforme a imagem abaixo)

    Gostaria de exibir uma mensagem tratada simples, informando ao usuário que não existem dados a serem exibidos. Mas não sei onde tratar isso exatamente. Eu estou utilizando .net 4.0 MVC, porem meus relatórios são gerados utilizando uma view "emprestada" de um webform.

     

    Alguem teria uma sugestão  de como resolver tal problema ?

     

    Desde já, obrigado!


    Leandro Alves
    quinta-feira, 24 de novembro de 2011 16:50

Todas as Respostas

  • Leandro, você está executando a View, atribuindo o resultado a um DataSet/DataTable e passando esses dados como parâmetros para o relatório? Se sim, basta verificar se o DataSet/DataTable está preenchido antes de invocar seu objeto relatório.

    Caso contrário, poste como é feito o seu procedimento.


    Leonardo Borges 'Xis'
    "Mas a persistência é o que leva a perfeição."
    Se a resposta for útil, marque-a. Poderá ser útil para outros desenvolvedores.
    segunda-feira, 28 de novembro de 2011 12:14
  • Olá Leonardo,

     

    eu tô utilizando os componentes do toolbox disponíveis no VS. Basicamente meu código ficou assim:

     

    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
        <form id="form1" runat="server" style="height: 174px">
    
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
    
            <asp:ObjectDataSource ID="NasfObjectDataSource" runat="server" 
                OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" 
                TypeName="Minerva.MinvervaDataSetTableAdapters.sp_consultar_nasfTableAdapter">
                <SelectParameters>
                    <asp:QueryStringParameter Name="municipioId" QueryStringField="municipioId" 
                        Type="String" />
                    <asp:QueryStringParameter Name="microId" QueryStringField="microId" 
                        Type="String" />
                    <asp:QueryStringParameter Name="macroId" QueryStringField="macroId" 
                        Type="String" />
                    <asp:QueryStringParameter Name="dataInicial" QueryStringField="dataInicial" 
                        Type="String" />
                    <asp:QueryStringParameter Name="dataFinal" QueryStringField="dataFinal" 
                        Type="String" />
                </SelectParameters>
            </asp:ObjectDataSource>
    
            <rsweb:ReportViewer ID="DabReport" runat="server" Width="100%"  Height="600px"
                Font-Names="Arial" Font-Size="7pt" InteractiveDeviceInfos="(Collection)" 
                WaitMessageFont-Names="Arial" WaitMessageFont-Size="16pt" >
                <LocalReport ReportPath="ViewReports\RELGER001.rdlc">
                    <DataSources>
                        <rsweb:ReportDataSource DataSourceId="NasfObjectDataSource" 
                            Name="NasfDataset" />
                    </DataSources>
                </LocalReport>
            </rsweb:ReportViewer>
    
        </form>
    </asp:Content>
    


    Queria saber se tem alguma propriedade deste Source em que eu pudesse verificar no PostBack da página se ele retornou linhas ou não, por exemplo. Daí eu direcionaria pra uma mensagem ou página personalizada informando ao usuário que não houveram resultados para aquela busca. Sendo que eu não faço idéia se estou utilizando a melhor prática pra geração de relatório, mas aceito sugestões.

     

    Abs!


    Leandro Alves
    segunda-feira, 28 de novembro de 2011 12:44