1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

DropDownList

Discussão em 'Programação' iniciada por Something_7, 26 de Maio de 2009. (Respostas: 1; Visualizações: 496)

  1. Something_7

    Something_7 Power Member

    Boa noite,

    Eu tenho uma pagina em ASP.NET e a usar VB e tenho dois dropdownlist um para listar os nomes dos clientes e outro para listar os nomes dos projectos.

    O que eu queria e que eu ao escolher ( no primeiro dropdownlist) o nome do cliente o dropdownlist dos projectos apenas selecciona-se na base de dados sql os nomes dos projectos referentes ao cliente escolhido.

    Ja tentei varias coisas, uma delas foi usar AJAX com um timer de minuto a minuto, por exemplo, mas isso nao me da jeito pois o utilizado tem que escolher qual o projecto que quer visualizar e como o dropdownlist esta sempre a actualizar o utilizador nao tem tempo de ler e escolher o projcto.

    Obrigada pela ajuda.
     
  2. alfinete

    alfinete Power Member

    do tipo tdas as drop down tem um item.text, e um value


    crias um dataset ou datatable e associas a drop1

    depois ao fazeres select na drop 1 ele activa a drop2 atraves do id da primeira


    Código:
    
     private void insere_dados_ddl()
            {
    
                DataTable tb = new DataTable();
    
                // ligação bd acesss
                string ligacao_bd = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + caminhobd + ";Persist Security Info=False;";
    
                OleDbConnection ligacao = new OleDbConnection(ligacao_bd);
                ligacao.Open();
    
                OleDbCommand cmd = ligacao.CreateCommand();
    
                cmd.CommandText = "select nome from tab";
    
                OleDbDataAdapter da = new OleDbDataAdapter(cmd);
    
               
    
                da.Fill(tb);
    
    
                this.lstprogramas.DataSource = tb;
    
                ddlprogramas.DisplayMember = "nome";
    
                ddlprogramas.ValueMember = "id";
    
                ligacao.Close();
    
    
            }
    
    
    private void insere_dados_ddl2(int id)
            {
    
                DataTable tb = new DataTable();
    
                // ligação bd acesss
                string ligacao_bd = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + caminhobd + ";Persist Security Info=False;";
    
                OleDbConnection ligacao = new OleDbConnection(ligacao_bd);
                ligacao.Open();
    
                OleDbCommand cmd = ligacao.CreateCommand();
    
                cmd.CommandText = "select projecto from tab where id = "&id;
    
                OleDbDataAdapter da = new OleDbDataAdapter(cmd);
    
               
    
                da.Fill(tb);
    
    
                this.lstprogramas.DataSource = tb;
    
                ddlprogramas2.DisplayMember = "nome";
    
                ddlprogramas2.ValueMember = "id";
    
                ligacao.Close();
    
    
            }
    
    no evento da drop 1 onselectedindexchanged

    para gerares o slectedindexchanged da ddl basta dares 2 cliques na mesma no desenho do form

    Código:
    protected void   ddlprogramas_onselectedindexchanged  ()
    
    {
    ddlprogramas2.enabled=true;
     insere_dados_ddl2(int32.parse(ddlprogramas.selectedvalue));
    }
    
    é uma coisa deste genero

    não testei ...


    isto esta em c# so concerteres para vb

    tens de por a 2 ddl enable = false de inicio


    espero que tenha ajudado
     

Partilhar esta Página