Senhores, não possuo grandes habilidades em programação.
Como passo uma variavel para uma griedview para que seja selecionados dados no banco conforme a variável?
Possuo duas páginas aspx, default.aspx e unidades.aspx.
Página Default:
Criei uma Listbox onde recupero uma lista de agencias.
Através de um FOR concateno o resultado do Listbox em uma variavel, coloco em uma sessão e envio para página unidades.aspx.
Trecho do código:
protected void Button1_Click(object sender, EventArgs e)
{
Session.RemoveAll();
// Label1.Text = "";
String listAgencias = " ";
for (int i = 0; i < ListBox2.Items.Count; i++)
{
if ((i - ListBox2.Items.Count == -1))
{
// Label1.Text += Convert.ToString(ListBox2.Items[i]);
listAgencias += "'" +Convert.ToString(ListBox2.Items[i])+"'";
}
else
{
// Label1.Text += Convert.ToString(ListBox2.Items[i]);
listAgencias += "'"+Convert.ToString(ListBox2.Items[i])+"',";
}
}
Session["selecionada"] = listAgencias;
Response.Redirect("Unidades.aspx");
Resultado codigo acima:
Se eu selecionei três agencias na listbox , ag01 , ag02 , ag03 a Sessao"selecionada" estara carregada assim: 'ag01','ag02','ag03'
Na minha página Unidade.aspx criei um Gridview com o seguinte código de consulta:
SelectCommand="SELECT DISTINCT [servidor], [unidade], [espacoLivre], [data] FROM [agenciasUnidades] WHERE [servidor] in (@servidor)">
<SelectParameters>
<asp:SessionParameter Name="servidor" SessionField="selecionada" Type="String" />
</SelectParam
Porem em minha Gridview não aparece nada.
Se eu edito o codigo, passando manualmente a gried view retorna os dados do banco:
SelectCommand="SELECT DISTINCT [servidor], [unidade], [espacoLivre], [data] FROM [agenciasUnidades] WHERE [servidor] in ('ag01','ag02','ag03')">
Como passo corretamente a sessao para o griedview retornar resultados ?