none
Dropdownlist RRS feed

Respostas

  • Essa e facil, tanto que ate eu que nunca sabe nada sei.
    Voce pode popula-lo no code-behind.

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
    If Not Page.IsPostBack Then
    
      MontaModalidades() ' Chamo a rotina que populara o DropDown
    
    endif
    
    
     Sub MontaModalidades()
    
            Dim conexao As SqlConnection
            Dim sql As String = "SELECT * FROM MODALIDADES ORDER BY MODAL_NOME"
            Dim da As SqlDataAdapter
            Dim ds As DataSet
    
            conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
    
            Try
    
                conexao.Open()
    
                da = New SqlDataAdapter(sql, conexao)
                ds = New DataSet()
    
                da.Fill(ds, "MODALIDADES") 
                ' Modalidades = Tabela
    
                With CboModalidade
                    .DataTextField = "MODAL_NOME" ' Campo que sera exibido
                    .DataValueField = "MODAL_ID"    ' Id do Campo
                    .DataSource = ds.Tables("MODALIDADES").DefaultView
                    .DataBind()    ' Popula o DropDown
                End With
                CboModalidade.Items.Insert(0, "Selecione a Modalidade")
               ' CboModalidade = Nome do DropDown
       Finally
                conexao.Close()
                conexao = Nothing
            End Try
        End Sub
    
    
    End Sub


    • Marcado como Resposta Harley Araujo quarta-feira, 19 de agosto de 2009 19:32
    quinta-feira, 6 de agosto de 2009 17:39

Todas as Respostas

  • Essa e facil, tanto que ate eu que nunca sabe nada sei.
    Voce pode popula-lo no code-behind.

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
    If Not Page.IsPostBack Then
    
      MontaModalidades() ' Chamo a rotina que populara o DropDown
    
    endif
    
    
     Sub MontaModalidades()
    
            Dim conexao As SqlConnection
            Dim sql As String = "SELECT * FROM MODALIDADES ORDER BY MODAL_NOME"
            Dim da As SqlDataAdapter
            Dim ds As DataSet
    
            conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
    
            Try
    
                conexao.Open()
    
                da = New SqlDataAdapter(sql, conexao)
                ds = New DataSet()
    
                da.Fill(ds, "MODALIDADES") 
                ' Modalidades = Tabela
    
                With CboModalidade
                    .DataTextField = "MODAL_NOME" ' Campo que sera exibido
                    .DataValueField = "MODAL_ID"    ' Id do Campo
                    .DataSource = ds.Tables("MODALIDADES").DefaultView
                    .DataBind()    ' Popula o DropDown
                End With
                CboModalidade.Items.Insert(0, "Selecione a Modalidade")
               ' CboModalidade = Nome do DropDown
       Finally
                conexao.Close()
                conexao = Nothing
            End Try
        End Sub
    
    
    End Sub


    • Marcado como Resposta Harley Araujo quarta-feira, 19 de agosto de 2009 19:32
    quinta-feira, 6 de agosto de 2009 17:39
  • Essa e facil, tanto que ate eu que nunca sabe nada sei.
    Voce pode popula-lo no code-behind.

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
    If Not Page.IsPostBack Then
    
      MontaModalidades() ' Chamo a rotina que populara o DropDown
    
    endif
    
    
     Sub MontaModalidades()
    
            Dim conexao As SqlConnection
            Dim sql As String = "SELECT * FROM MODALIDADES ORDER BY MODAL_NOME"
            Dim da As SqlDataAdapter
            Dim ds As DataSet
    
            conexao = New SqlConnection(ConfigurationManager.ConnectionStrings("timesheet").ConnectionString)
    
            Try
    
                conexao.Open()
    
                da = New SqlDataAdapter(sql, conexao)
                ds = New DataSet()
    
                da.Fill(ds, "MODALIDADES") 
                ' Modalidades = Tabela
    
                With CboModalidade
                    .DataTextField = "MODAL_NOME" ' Campo que sera exibido
                    .DataValueField = "MODAL_ID"    ' Id do Campo
                    .DataSource = ds.Tables("MODALIDADES").DefaultView
                    .DataBind()    ' Popula o DropDown
                End With
                CboModalidade.Items.Insert(0, "Selecione a Modalidade")
               ' CboModalidade = Nome do DropDown
       Finally
                conexao.Close()
                conexao = Nothing
            End Try
        End Sub
    
    
    End Sub
    



    Olá Diego, a forma que nosso amigo Ventana mostrou, resolve sim seu problema sem dificuldades. Só acresentando algumas informações, o que seria interessante é desenvolver uma classe de negócios e manter essa classe com o acesso a dados retornando objetos desconectados (e genéricos se possível) como DataTable ou DataSet (ou genéricos, como List<T>)... 

    Abraços
    Att,





    Felipe Oriani - www.felipeoriani.com.br

    ...O rio atinge os seu objetivos porque aprendeu a contornas os obstáculos... por André Luiz
    quinta-feira, 6 de agosto de 2009 18:14
  • como faço isso Felipe?
    quinta-feira, 6 de agosto de 2009 18:48
  • Olá Diego...

    Veja estes links: 



    Neste exemplo, ele demostra com GridView, mas funciona da mesma forma para um dropdownlist. O principio é o mesmo que o nosso amigo Ventana citou, porém você trabalha em camadas, oque eu recomendo, pois a parte de acesso a dados fica desacoplado com sua camada de apresentação (seu website), e mantem uma estrutura organizada!

    Leia os links e tome como base para ddesenvolver suas regras de negócios em suas camadas!

    Espero que ajude
    um abraço
    att,







    Felipe Oriani - www.felipeoriani.com.br

    ...O rio atinge os seu objetivos porque aprendeu a contornas os obstáculos... por André Luiz
    quinta-feira, 6 de agosto de 2009 19:00
  • OK  eu entendi, vou ser mais claro agora consegui popoluar meu dropdown vai codigo no pageload, no entanto eu tenho uma consulta (botão) qeu gera um postback, fazendo com que o meu dropdown carregue novamente os dados do banco , mas eu queria que tipo assim : que na hora em que eu pedisse pra ele buscar ele nao carregasse o drop com todos os dados mas sim fizesse a busca com o que eu solicitei tipo:
                     
                        dr.Read();
                        txt_codigo.Text = dr["setorid"].ToString(); receber normal  
                        txt_responsavel.Text = dr["Responsavel"].ToString();  receber normal
                        txt_nome.Text = dr["Setor"].ToString();   receber normal
                        ddl_filial.Text = dr["Filial"].ToString(); carrega os dados do datasource nao o do codigo informardo (especifico)
    quinta-feira, 6 de agosto de 2009 20:08
  • Para selecionar seu um valor no seu dropdownlist, vocÊ deve utilizar a propriedade SelectedValue, por exemplo:

    ddl.SelectedValue = dr"[id_fk"].ToString();

    ESpero que ajude
    Att,


    Felipe Oriani - www.felipeoriani.com.br

    ...O rio atinge os seu objetivos porque aprendeu a contornas os obstáculos... por André Luiz
    sexta-feira, 7 de agosto de 2009 11:22
  • bom dia Felipe eu ja usei essa propriedade e ele continua a puxar todos os dados ...nao puxa só o que eu pedi porque carrega todoo datasource
    • Sugerido como Resposta Silvagpe sexta-feira, 7 de agosto de 2009 12:56
    sexta-feira, 7 de agosto de 2009 11:33
  • bom dia Felipe eu ja usei essa propriedade e ele continua a puxar todos os dados ...nao puxa só o que eu pedi porque carrega todoo datasource

    Bom dia Diego.

    Se entendi corretamente você gostaria de selecionar um valor que já está no seu DropDownList, para isso você pode utilizar o seguinte comando

    DropDownList1.Items.FindByText(

     

    "<texto>");
    sexta-feira, 7 de agosto de 2009 13:02
  • tipo, no meu caso acontece que na hora do post back meu drop tem que receber todos os dados de uma tabela certo! (isso no postback) porem na hora em que faço uma busca especifica eu nao quero que ele carregue todos os dados mas sim o que eu pedi...mas ele continua a carregar todos os dados ...
    sexta-feira, 7 de agosto de 2009 13:50
  • Boa Tarde Diego.

    Você gostaria de fazer algo assim?
    Limpar os itens existentes e popular novamente com outros valores?


    dropDownList1.Items.Clear();

    dropDownList1.DataSource = classeBL.getItemsByDesc(

    "QualquerDescricao");

    dropDownList1.DataBind();


    ou você tmb pode limpar os itens e inserir conforme a necessidade e posição


    dropDownList1.Items.Clear();

    dropDownList1.Items.Insert(0,

    new ListItem("TextoQueApareceNoDropDown", "ValorDoItem"));
    // 0 posição que o item ira ser inserido no dropdown


    Abraços.
    Boa Sorte

    sexta-feira, 7 de agosto de 2009 17:45