none
Dois dropdownlist UF e Cidade RRS feed

  • Pergunta

  • como fazer cascata dentro de um detailsview.

    Tenho um Dropdownlist que é UF ao selecionar deverá atualizar o segunod dropdownlist Cidade, sendo que o segundo esta ligado ao databind (nro_idf_cdd) é ai que da o erro
    sexta-feira, 16 de novembro de 2007 21:16

Todas as Respostas

  • Ricardo vc deve fazer o seguinte, ter um evento DropDownList no seu primeiro drop que no caso é o dropUF, digamos assim:

    Code Block




           protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList dropUF = DetailsView1.FindControl("dropUF") as DropDownList; //suponha que este seja o nome de seu control dentro do DetailsView

            DropDownList dropCidade = DetailsView1.FindControl("dropCidade") as DropDownList;
            dropCidade.DataSource = rows(dropUF);
            dropCidade.DataTextField = "Cidade";
            dropCidade.DataValueField = "IDCidade";
            dropCidade.DataBind();
        }

        private DataRow rows(string UF)
        {
               
            SqlConnection conexao = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionStringLocal"].ConnectionString);
            SqlCommand comando = new SqlCommand("SELECT Cidade, IDCidade FROM Cidades WHERE UF=@UF ORDER BY Cidade ASC", conexao);
            comando.CommandType = CommandType.Text;

            comando.Parameters.Add(new SqlParameter("@UF", UF));
            DataTable tabela = new DataTable();
            tabela.Load(comando.ExecuteReader(CommandBehavior.CloseConnection));
            return tabela.DefaultView;

        }

    Espero que tenha te ajudado

    sexta-feira, 16 de novembro de 2007 21:41
  • Xará tem esse código em VB ????

     

    :} não consegui colocar para funcionar ... vc acredita !!!

     

    Obrigado.

     

    terça-feira, 20 de novembro de 2007 10:38
  • terça-feira, 20 de novembro de 2007 11:24
  • Ricardo,

     

    Fazer o que você precisa é relativamente simples.

     

    Você tem 2 drop dows ?

     

    No primeiro dropdown vc tem um drop down ligado a um data source que busca no banco os estados ou provavelmente adicionou um a um na mão.

     

    No segundo dropdown o da cidade, você tem que ter obrigatóriamente um datasource que liste as cidades do banco.

     

    Este seu select, deve ter com certeza algum parametro exemplo:

     

    select cidade from cidades where UF=@UF

     

    Então você configura o parametro deste datasource para buscar o valor do dropdown (estado) selecionado.

     

    Então quando você fazer o select, ele vai buscar a cidade baseado no valor que selecionou.

     

    E para tudo funcionar perfeitamente não esqueça de ligar o autopostback.

     

    Espero ter ajudado.

     

     

     

     

    • Sugerido como Resposta Rabinson quarta-feira, 30 de março de 2011 16:10
    • Não Sugerido como Resposta Rabinson quarta-feira, 30 de março de 2011 16:10
    terça-feira, 20 de novembro de 2007 12:38
  • q site show de bola!!!!!!!! valeu

     

    terça-feira, 20 de novembro de 2007 13:11
  • Bom dia


    Como faço para configurar o parametro do datasource da cidade ?

    "Então você configura o parametro deste datasource para buscar o valor do dropdown (estado) selecionado."


    pois não localizo opção no "ControlID"


    Obrigada
    quarta-feira, 14 de maio de 2008 16:00
  • Ola Ricardo D. Beck estou com o mesmo problema  Ricardo Souza tentei utilizar seu código mas esta dando erro:


    Ta dando erro no: dropCidade.DataSource = rows(CategoryID); na qual fala que o CategoryID não existe no contexto


    tem como vc me ajudar

    protected

     

    void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

    {

     

    DropDownList dropUF =frmInsert.FindControl("dropUF") as DropDownList;

    DropDownList
    dropCidade = frmInsert.FindControl("dropCidade") as DropDownList;

    dropCidade.DataSource = rows(CategoryID);

    dropCidade.DataTextField =

    "Title";

    dropCidade.DataValueField =

    "SubCategoryID";

    dropCidade.SelectedValue =

    "SubCategoryID";

    dropCidade.DataBind();

    }

     

    private DataRow rows(Int32 ID)

    {

     

    SqlConnection conexao = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionStrings:StoreString"].ConnectionString);

     

    SqlCommand comando = new SqlCommand("SELECT [SubCategoryID], [CategoryID], [Title] FROM [SubCategories] WHERE ([CategoryID] = @ID)", conexao);

    comando.CommandType =

    CommandType.Text;

    comando.Parameters.Add(

    new SqlParameter("@ID", ID));

     

    DataTable tabela = new DataTable();

    tabela.Load(comando.ExecuteReader(

    CommandBehavior.CloseConnection));

     

    return tabela.DefaultView;

    }

    domingo, 24 de maio de 2009 22:30
  • Oi,

    O dropdown de cidades é alimentado por um sqldatasource.

    Clique neste sql data source  e pela smarttag selecione "configure datasource". Na tela que exibe sua seleção de campos, clique no botão where. Indique o parâmetro (idestado ?) e indique a origem (control - outro objeto na tela) aponte então para a dropdownlist que contém os estados.

    Se por acaso a dropdownlist que contém os estados não estiver visivel, isso pode ser configurado via source nos arquivos de tags.

    []'s

    Dennes
    *Treinamento de ASP.NET 3.5 c/Visual Studio 2008 em SP - Apenas 12xR$ 70,88 - http://www.bufaloinfo.com.br/cursos/aspnet2.asp


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    • Sugerido como Resposta Rabinson quarta-feira, 30 de março de 2011 16:10
    segunda-feira, 25 de maio de 2009 02:17
  • Buenas, conhece o AjaxControl ToolKit?
    Tem um esquela lá bem legal que pode te ajudar!

    Dá uma olhadinha..

    http://www.asp.net/AJAX/AjaxControlToolkit/Samples/CascadingDropDown/CascadingDropDown.aspx

    Abraços!

    quinta-feira, 28 de maio de 2009 17:32