Discussion:
GridView não carrega com o Hyperlink
(too old to reply)
Néspoli
2008-03-25 15:19:04 UTC
Permalink
Bom Dia pessoal,

Tenho o seguinte gridView:

Code Snippet

<asp:GridView
ID="GridView1"
runat="server"
AutoGenerateColumns="False"
DataKeyNames="MESANO_FECHAMENTO"
DataSourceID="SqlDataSource1"
AllowPaging="True"
PageSize="3">
<Columns>
<asp:BoundField DataField="MESANO_FECHAMENTO" HeaderText="Mês" />
<asp:BoundField DataField="SUM(TOTAL)" HeaderText="Total" />
<asp:hyperlinkfield datatextfield="MESANO_FECHAMENTO"
datatextformatstring="{0:C}"
datanavigateurlfields="MESANO_FECHAMENTO"

datanavigateurlformatstring="~detailhes.aspx?MESANO_FECHAMENTO={0}"
/>
</Columns>
</asp:GridView>


Após o clique no Hyperlink deve abrir uja nova página que contem esse
GridView:

Code Snippet

<asp:SqlDataSource
ID="detalhes"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="SELECT CANAL, SUM(DIA01), SUM(DIA02), SUM(DIA03),
SUM(TOTAL)">
<SelectParameters>
<asp:QueryStringParameter
QueryStringField="MESANO_FECHAMENTO"
Name="MESANO_FECHAMENTO" />
</SelectParameters>
</asp:SqlDataSource>

<asp:GridView
ID="resultado"
runat="server"
AutoGenerateColumns="False"
DataSourceID="detalhes">
<Columns>
<asp:BoundField DataField="CANAL" HeaderText="Canal" />
<asp:BoundField DataField="SUM(DIA01)" HeaderText="01" />
<asp:BoundField DataField="SUM(DIA02)" HeaderText="02" />
<asp:BoundField DataField="SUM(DIA03)" HeaderText="03" />
<asp:BoundField DataField="SUM(TOTAL)" HeaderText="Total" />
</Columns>
</asp:GridView>


Acontece que o Grid, esta abrindo só com os campos, sem os valores da
escolha feita na página anterior. Alguém pode me ajudar ??
--
Néspoli
Néspoli
2008-03-25 15:57:02 UTC
Permalink
Na verdade a Query estava errada, segue o Grid da página nova com a query
correta:

Code Snippet

<asp:SqlDataSource
ID="detalhes"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="SELECT CANAL, SUM(DIA01), SUM(DIA02), SUM(DIA03),
SUM(TOTAL) FROM INDIC_DIA WHERE MESANO_FECHAMENTO = @MESANO_FECHAMENTO">
<SelectParameters>
<asp:QueryStringParameter
QueryStringField="MESANO_FECHAMENTO"
Name="MESANO_FECHAMENTO" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView
ID="GridView1"
runat="server"
AutoGenerateColumns="False"
DataSourceID="detalhes">
<Columns>
<asp:BoundField DataField="CANAL" HeaderText="Canal" />
<asp:BoundField DataField="SUM(DIA01)" HeaderText="01" />
<asp:BoundField DataField="SUM(DIA02)" HeaderText="02" />
<asp:BoundField DataField="SUM(DIA03)" HeaderText="03" />
<asp:BoundField DataField="SUM(TOTAL)" HeaderText="Total" />
</Columns>
</asp:GridView>


O Link que vem do primeiro grid que deveria carregar essa página é o seguinte:
http://localhost/detalhes.aspx?MESANO_FECHAMENTO=0803

Testei o Grid colocando a seguinte Query

SELECT CANAL, SUM(DIA01), SUM(DIA02), SUM(DIA03), SUM(TOTAL) FROM INDIC_DIA
WHERE MESANO_FECHAMENTO = '0803'

Apenas pra ver se ele me retorna os dados e me retornou... nesse teste eu
exclui essa parte do código do SELECT
Code Snippet

<SelectParameters>
<asp:QueryStringParameter
QueryStringField="MESANO_FECHAMENTO"
Name="MESANO_FECHAMENTO" />
</SelectParameters>


Obrigado
--
Néspoli
Post by Néspoli
Bom Dia pessoal,
Code Snippet
<asp:GridView
ID="GridView1"
runat="server"
AutoGenerateColumns="False"
DataKeyNames="MESANO_FECHAMENTO"
DataSourceID="SqlDataSource1"
AllowPaging="True"
PageSize="3">
<Columns>
<asp:BoundField DataField="MESANO_FECHAMENTO" HeaderText="Mês" />
<asp:BoundField DataField="SUM(TOTAL)" HeaderText="Total" />
<asp:hyperlinkfield datatextfield="MESANO_FECHAMENTO"
datatextformatstring="{0:C}"
datanavigateurlfields="MESANO_FECHAMENTO"
datanavigateurlformatstring="~detailhes.aspx?MESANO_FECHAMENTO={0}"
/>
</Columns>
</asp:GridView>
Após o clique no Hyperlink deve abrir uja nova página que contem esse
Code Snippet
<asp:SqlDataSource
ID="detalhes"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="SELECT CANAL, SUM(DIA01), SUM(DIA02), SUM(DIA03),
SUM(TOTAL)">
<SelectParameters>
<asp:QueryStringParameter
QueryStringField="MESANO_FECHAMENTO"
Name="MESANO_FECHAMENTO" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView
ID="resultado"
runat="server"
AutoGenerateColumns="False"
DataSourceID="detalhes">
<Columns>
<asp:BoundField DataField="CANAL" HeaderText="Canal" />
<asp:BoundField DataField="SUM(DIA01)" HeaderText="01" />
<asp:BoundField DataField="SUM(DIA02)" HeaderText="02" />
<asp:BoundField DataField="SUM(DIA03)" HeaderText="03" />
<asp:BoundField DataField="SUM(TOTAL)" HeaderText="Total" />
</Columns>
</asp:GridView>
Acontece que o Grid, esta abrindo só com os campos, sem os valores da
escolha feita na página anterior. Alguém pode me ajudar ??
--
Néspoli
Loading...