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

  • 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

    sexta-feira, 26 de outubro de 2012 15:08

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

    sexta-feira, 26 de outubro de 2012 16:17
    Moderador
  • 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

    quinta-feira, 28 de março de 2013 01:29