Inquiridor
Como setar um dropdownlist como parametro e usar esse parâmetro para selecionar apenas 1 produto no gridview?

Pergunta
-
Oi galera! Estou com uma dúvida... Eu tenho um dropdown, e ele traz o nome do produto e a Id_produto. Queria usar a Id_produto como parâmetro para criar uma Gridview que traga APENAS o produto selecionado, porém, eu seto o Id_parametro e uso como condição na Grid e isso gera erro :s Alguém sabe como fazer isso?
Assunto = dúvida
Todas as Respostas
-
Olá Claudio,
Poderia postar o seu código e a mensagem de erro?
[]s!
Fernando Henrique Inocêncio Borba Ferreira
Microsoft MVP - Data Platform Development
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique
Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil -
Olá Cláudio,
Montei um exemplo e estarei te mostrando os passos com partido e políticos.
- Componente na página ASPX (Insira no seu HTML)
<asp:DropDownList ID="ddlPartido" runat="server">
</asp:DropDownList>
<br />
<br clear = "all"/>
<asp:GridView ID="grvPolitico" runat="server">
</asp:GridView>- Deve criar duas classes, Partido e Politico (Add New Class)
Classe Partido
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Classe de Partidos
/// </summary>
public class Partidos
{
public int IdPartido { get; set; }
public string Partido { get; set; }
}Classe Politicos
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Summary description for Politico
/// </summary>
public class Politicos
{
public int IdPartido { get; set; }
public string Politico { get; set; }
}- CodeBehind da Página (ASPX.CS)
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
this.CarregaDropDownListPartido();
}
/// <summary>
/// Carrega o dropdownlist
/// </summary>
private void CarregaDropDownListPartido()
{
List<Partidos> listaPartido = new List<Partidos>();
listaPartido.Add(new Partidos { IdPartido = 1, Partido = "PT" });
listaPartido.Add(new Partidos { IdPartido = 2, Partido = "PSC" });
listaPartido.Add(new Partidos { IdPartido = 3, Partido = "PV" });
listaPartido.Add(new Partidos { IdPartido = 4, Partido = "PMDB" });
//Aqui voce deve setar sua lista
ddlPartido.DataValueField = "IdPartido";
ddlPartido.DataTextField = "Partido";
ddlPartido.DataSource = listaPartido;
ddlPartido.DataBind();
//Insere um item vazio
ddlPartido.Items.Insert(0, new ListItem { Text = "- Selecione um Partido -", Value = "0" });
}
/// <summary>
/// Carrega o grid de politico
/// </summary>
/// <param name="idPartido"></param>
private void CarregaGridPolitico(int idPartido)
{
List<Politicos> listaPolitico = new List<Politicos>();
listaPolitico.Add(new Politicos { IdPartido = 1, Politico = "Lula" });
listaPolitico.Add(new Politicos { IdPartido = 1, Politico = "Dilma" });
listaPolitico.Add(new Politicos { IdPartido = 2, Politico = "Anré Moura" });
listaPolitico.Add(new Politicos { IdPartido = 2, Politico = "Marcos Feliciano" });
listaPolitico.Add(new Politicos { IdPartido = 3, Politico = "Gabeira" });
listaPolitico.Add(new Politicos { IdPartido = 3, Politico = "Sirkis" });
listaPolitico.Add(new Politicos { IdPartido = 4, Politico = "Suplicy" });
listaPolitico.Add(new Politicos { IdPartido = 4, Politico = "Serra" });
//Aqui voce faz a busca ou utilize sua query
List<Politicos> buscaListaPoliticos = listaPolitico.Where(x => x.IdPartido == idPartido).ToList();
//Aqui vem a fonte de dados
grvPolitico.AutoGenerateColumns = true;
grvPolitico.DataSource = buscaListaPoliticos;
grvPolitico.DataBind();
}
protected void ddlPartido_SelectedIndexChanged(object sender, EventArgs e)
{
// Quando clicamos no dropdownlist com o autpostback = true, entra aqui e passa o parametro e carrega o grid
this.CarregaGridPolitico(int.Parse(ddlPartido.SelectedItem.Value));
}Espero que tenha te ajudado, qualquer dúvida só entrar em contato.
Atenciosamente,
Leonardo Trindade
MCT/MCSD Web Application/MCPD/MCTS/MCP/ITIL V3
Blog Técnico: www.leonardotrindade.net