none
PESQUISA CLIENTE COM DROPDOWNLIST(Selectedindexchanged) E MOSTRAR NA GRIDVIEW em c# RRS feed

  • Pergunta

  • Boa noite!

    Estou tentando fazer uma pesquisa Cliente usando SelectedIndexchanged do Dropdownslist. MAs não está dando certo.

    Alguém poderia me ajudar?

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Linq.Expressions;

    namespace _Movimentação_Web
    {
        public partial class MovimentacaoWeb : System.Web.UI.Page
        {
            public string strSelect = "Select t1.Cod, t1.Condominio, t1.Nome, t1.Cgc_cpf, t1.Cod_Adm  From Tabela_Condominio t1 Where t1.Cod = t1.Cod";
            public string StrSelectFuncionarios = " select t1.Cod, t1.Condominio, t1.Nome, t2.CPF, t2.Operadora, t2.Plano, t2.Dependente from Tabela_Condominio t1 inner join Tabela_Funcionarios2 t2 on t1.Cod = t2.Cod";


            protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    CarregaDropCondominio();

                    carregaGridView(ddlCondominio.SelectedValue);

                    //grdFuncionarios.DataSource =  carregaGrid().OrderBy(x => x.Cod);
                    //grdFuncionarios.DataBind();
                    }

            }

            public void CarregaDropCondominio()
            {
                ddlCondominio.DataSource = ObterLista();
                ddlCondominio.DataValueField = "Cod";
                ddlCondominio.DataTextField = "Condominio";
                ddlCondominio.DataBind();
            }

            public class condominio
            {
                public int Cod { get; set; }
                public string Condominio { get; set; }

            }

            public class Funcionarios
            {
                public int Cod { get; set; }
                public string Nome { get; set; }
                public string CPF { get; set; }
                public string Operadora { get; set; }
                public string Plano { get; set; }
                public string Dependente { get; set; }

            }
            private List<condominio> ObterLista()
            {
                List<condominio> lstcondominio = new List<condominio>();


                SqlConnection conexaoWeb = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["RCPConnectionString"].ConnectionString);
                using (conexaoWeb)

                    try
                    {
                        conexaoWeb.Open();
                        SqlCommand cmm = new SqlCommand(strSelect, conexaoWeb);
                        SqlDataReader dr = cmm.ExecuteReader();

                        //cmm.Parameters.AddWithValue("Cod_UE", ddlCondominio.SelectedValue);


                        if (dr.HasRows)
                        {
                            while (dr.Read())
                            {
                                condominio objCondominio = new condominio();
                                objCondominio.Cod = Convert.ToInt32(dr["Cod"]);
                                objCondominio.Condominio = dr["Condominio"].ToString();
                                lstcondominio.Add(objCondominio);
                                grdFuncionarios.DataBind();
                            }
                        }
                    }
                    catch (Exception Erro)
                    {
                        throw new Exception(Erro.Message);
                    }
                conexaoWeb.Close();

                return lstcondominio;
            }

            public List<Funcionarios> carregaGrid()
            {

                List<Funcionarios> lstFuncionarios = new List<Funcionarios>();

                SqlConnection conexaoWeb = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["RCPConnectionString"].ConnectionString);
                using (conexaoWeb)

                    try
                    {
                        conexaoWeb.Open();
                        SqlCommand cmm = new SqlCommand(StrSelectFuncionarios, conexaoWeb);
                        SqlDataReader dr = cmm.ExecuteReader();

                        if (dr.HasRows)
                        {
                            while (dr.Read())
                            {
                                Funcionarios objFuncionario = new Funcionarios();
                                objFuncionario.Cod = Convert.ToInt32(dr["Cod"]);
                                objFuncionario.Nome = dr["Nome"].ToString();
                                objFuncionario.Plano = dr["CPF"].ToString();
                                objFuncionario.Operadora = dr["Operadora"].ToString();
                                objFuncionario.Dependente = dr["Dependente"].ToString();
                                lstFuncionarios.Add(objFuncionario);

                            }
                        }
                    }
                    catch (Exception Erro)
                    {
                        throw new Exception(Erro.Message);
                    }
                conexaoWeb.Close();

                return lstFuncionarios;
            }



            private void carregaGridView(string p)
            {
                List<Funcionarios> lstFuncionarios = new List<Funcionarios>();

                SqlConnection conexaoWeb = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["RCPConnectionString"].ConnectionString);
                using (conexaoWeb)

                    try
                    {
                        conexaoWeb.Open();
                        SqlCommand cmm = new SqlCommand(StrSelectFuncionarios, conexaoWeb);
                        SqlDataReader dr = cmm.ExecuteReader();

                        if (dr.HasRows)
                        {
                            while (dr.Read())
                            {
                                Funcionarios objFuncionario = new Funcionarios();
                                objFuncionario.Cod = Convert.ToInt32(dr["Cod"]);
                                objFuncionario.Nome = dr["Nome"].ToString();
                                objFuncionario.Plano = dr["Plano"].ToString();
                                objFuncionario.Operadora = dr["Operadora"].ToString();
                                objFuncionario.Dependente = dr["Dependente"].ToString();
                                lstFuncionarios.Add(objFuncionario);
                                grdFuncionarios.DataBind();    
                            }
                        }
                    }
                    catch (Exception Erro)
                    {
                        throw new Exception(Erro.Message);
                    }
                conexaoWeb.Close();

            }


            protected void ddlCondominio_SelectedIndexChanged(object sender, EventArgs e)
            {
                ddlCondominio.DataSource = carregaGrid().OrderBy(x => x.Cod);
                grdFuncionarios.DataBind(); ;

            }

        }

    }

                                                                     
    segunda-feira, 18 de agosto de 2014 21:54

Todas as Respostas

  • É gerado algum erro? A sua DropDownList está com o AutoPostBack="True" ?

    []s

    terça-feira, 19 de agosto de 2014 12:21
  • boa noite guilherme,

    Já inclui o  AutoPostBack="True. 

    Não está dando nenhum erro, preciso saber como faço para filtrar clientes atraves do dropdownlist e carregar no gridview.

    VocÊ teria algum exemplo?

    Pois tenho tabela condominio e tabela cadastro funcionarios.

    Obrigado.


    quarta-feira, 20 de agosto de 2014 00:15
  • Se entendi bem, tente mudar o seu método "carregaGridView" e "ddlCondominio_SelectedIndexChanged" por esses, e diga o que aconteceu.

    		private void carregaGridView(string p)
            {
                List<Funcionarios> lstFuncionarios = new List<Funcionarios>();
    
                SqlConnection conexaoWeb = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["RCPConnectionString"].ConnectionString);
                using (conexaoWeb)
    
                    try
                    {
                        conexaoWeb.Open();
    					
    					StrSelectFuncionarios += " WHERE t1.Cod = " + p;
    					
                        SqlCommand cmm = new SqlCommand(StrSelectFuncionarios, conexaoWeb);
                        SqlDataReader dr = cmm.ExecuteReader();
    
                        if (dr.HasRows)
                        {
                            while (dr.Read())
                            {
                                Funcionarios objFuncionario = new Funcionarios();
                                objFuncionario.Cod = Convert.ToInt32(dr["Cod"]);
                                objFuncionario.Nome = dr["Nome"].ToString();
                                objFuncionario.Plano = dr["Plano"].ToString();
                                objFuncionario.Operadora = dr["Operadora"].ToString();
                                objFuncionario.Dependente = dr["Dependente"].ToString();
                                lstFuncionarios.Add(objFuncionario);                            
                            }
                        }
    					
    					grdFuncionarios.DataSource = lstFuncionarios;
    					grdFuncionarios.DataBind();    	
                    }
                    catch (Exception Erro)
                    {
                        throw new Exception(Erro.Message);
                    }
                conexaoWeb.Close();
    
            }
    
    
            protected void ddlCondominio_SelectedIndexChanged(object sender, EventArgs e)
            {
                carregaGridView(ddlCondominio.SelectedValue);
            }
    

    quarta-feira, 20 de agosto de 2014 16:12
  • Boa noite Guilherme deu certo sim.

    Obrigado. 

    1- Preciso de mais uma ajuda sua como faço para criar uma session e carregar os dados do cliente nas textbox quando logado?

    2- como faço para pegar esse campo abaixo do meu gridview e carregar o nome desse cliente na minhas textbox.?

     <asp:TemplateField HeaderText="Nome">
                                    <ItemTemplate>
                                        <asp:LinkButton ID="lbNome" runat="server" Width="100%" CommandName="Editar" CommandArgument='<%# Eval("Cod") %>'>
                                            <asp:Label ID="lblNome" runat="server" Width="100%" Text='<%# Eval("Nome") %>'></asp:Label>
                                        </asp:LinkButton>
                                    </ItemTemplate>
                                </asp:TemplateField>
    sábado, 23 de agosto de 2014 23:03