Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, bom dia!
Meu ListView está exibindo o cabeçalho independente se está vindo resultados ou não (Ignorando o EmptyDataTemplate).
O mais engraçado é que tenho na mesma pagina dois ListView (ListView1 e ListView2), o ocorrido só acontece no ListView1.
Alguém tem uma idéia do que seja? Já tentei "debugar" e ver se acho algum valor que ele possa estar trazendo e visualizei que está count = 1, mas não consigo visualizar o valor.
<asp:ListView ID="ListView1" runat="server">
<EmptyDataTemplate><i>Nenhum Registro Encontrado</i></EmptyDataTemplate>
<LayoutTemplate>
<table class="tabela" border="0">
<tr class="cabecalho">
<th align="center"><asp:Label ID="TOTAL" runat="server">TOTAL</asp:Label></th>
<th align="center"><asp:Label ID="ATIVOS" runat="server">ATIVOS</asp:Label></th>
<th align="center"><asp:Label ID="INDICE" runat="server">INDICE</asp:Label></th>
</tr>
<tr id="itemPlaceholder" runat="server"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td align="center"><asp:Label runat="server" id="lblTOTAL"><%#Eval("TOTAL") %></asp:Label></td>
<td align="center"><asp:Label runat="server" id="lblATIVOS"><%#Eval("TOTAL_ATIVOS")%></asp:Label></td>
<td align="center"><asp:Label runat="server" id="lblINDICE"><%#(Eval("INDICE").ToString() != "")?Convert.ToDouble(Eval("INDICE")).ToString("N2")+"%": ""%></asp:Label></td>
</tr>
</ItemTemplate>
</asp:ListView>
</div>
<div id="Tit_Detalhado">
<asp:Label ID="lbldet" Text="-" runat="server"></asp:Label>
<asp:HyperLink ID="Detalhado" runat="server" NavigateUrl="javascript:void(0);" onclick="Click_ListView2()">Detalhado</asp:HyperLink>
</div>
<div id="LV2">
<asp:ListView ID="ListView2" runat="server">
<EmptyDataTemplate><i>Nenhum Registro Encontrado</i></EmptyDataTemplate>
<LayoutTemplate>
<table class="tabela" border="0">
<tr class="cabecalho">
<th align="center"><asp:Label ID="DATA" runat="server">DATA</asp:Label></th>
<th align="center"><asp:Label ID="TOTAL" runat="server">TOTAL</asp:Label></th>
<th align="center"><asp:Label ID="ATIVOS" runat="server">ATIVOS</asp:Label></th>
<th align="center"><asp:Label ID="INATIVOS" runat="server">INATIVOS</asp:Label></th>
<th align="center"><asp:Label ID="CONVERSAO" runat="server">CONVERSÃO</asp:Label></th>
</tr>
<tr id="itemPlaceholder" runat="server"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td align="center"><asp:Label runat="server" id="lblData"><%#Eval("Data") %></asp:Label></td>
<td align="center"><asp:Label runat="server" id="lblTotal"><%#Eval("Total")%></asp:Label></td>
<td align="center"><asp:Label runat="server" id="lblAtivos"><%#Eval("Ativos")%></asp:Label></td>
<td align="center"><asp:Label runat="server" id="lblInativos"><%#Eval("Inativos")%></asp:Label></td>
<td align="center"><asp:Label runat="server" id="LblConversao"><%#Convert.ToDouble(Eval("Conversao")).ToString("N2") + "%" %></asp:Label></td>
</tr>
</ItemTemplate>
</asp:ListView>
public DataSet DSET_Resumo(int dia, int mes)
{
SqlCommand cmdTotal = new SqlCommand("select SUM(total)[TOTAL], SUM(totalAtivo)[TOTAL_ATIVOS], (SUM(totalAtivo) / SUM(total)) * 100 [iNDICE] from tb_conversao_cadastro WHERE mes = @Mes and dia >= @Dia", SQLConnection);
cmdTotal.Parameters.AddWithValue("@dia", dia);
cmdTotal.Parameters.AddWithValue("@mes", mes);
SqlDataAdapter DA = new SqlDataAdapter(cmdTotal);
DataSet DS = new DataSet();
DA.Fill(DS);
return DS;
}
public DataSet DSET_Detalhado(int dia, int mes)
{
SqlCommand cmd = new SqlCommand("select CAST(Dia AS VARCHAR(2)) + '/' + CAST(Mes AS VARCHAR(1)) as Data, Total, TotalAtivo as Ativos, (Total - TotalAtivo) as Inativos, Conversao from tb_conversao_cadastro WHERE mes = @Mes and dia >= @Dia", SQLConnection);
cmd.Parameters.AddWithValue("@dia", dia);
cmd.Parameters.AddWithValue("@mes", mes);
SqlDataAdapter DA = new SqlDataAdapter(cmd); //Ele busca os dados na fonte de dados e joga no DataSet
DataSet DS = new DataSet();//Eh o que contém os dados e tabelas extraidos pelo DataAdapter
DA.Fill(DS);//Fill é o que preenche o DataSet com os dados extraidos pelo DataAdapter / Ele também abre a conexão automaticamente e fecha assim que obter os dados
return DS;
}
Galera,
eu verifiquei que o select está retornando NULL, por isso o DataSet está com valor.
Eu tentei usar o isNull e substituir por '' ( isnull(SUM(total), '') porém gera o seguinte erro:
Msg 8114, Level 16, State 5, Line 9
Error converting data type varchar to numeric.
Carregando comentários...