none
Adicionar item a um DropDownList

    Pergunta

  • Bom dia pessoal,

    Tenho o seguinte problema:

    Para popular um DropDownList faço da seguinte maneira:
          Sql = "SELECT CodArea, NomeArea " _
              & "FROM AreasInteresse " _
              & "ORDER BY NomeArea"
          Dim oConn As OleDbConnection = New OleDbConnection(AppSettings("strConn"))
          Dim cmd As New OleDbCommand(Sql, oConn)
          Dim dr As OleDbDataReader
          oConn.Open()
          dr = cmd.ExecuteReader()
          cmbInteresse.DataSource = dr
          cmbInteresse.DataTextField = "NomeArea"
          cmbInteresse.DataValueField = "CodArea"
          cmbInteresse.DataBind()
          dr.Close()
          oConn.Close()

    Até aí tudo funcionando perfeitamente bem.
    Só que preciso adicionar um "Selecione..."

    Se eu fizer assim:
    cmbInteresse.Items.Insert(0, "Selecione...")
    ele insere em primeiro no dropdown mas ao invés de aparecer o "zero" no value, ele aparece o "Selecione..." também.

    Se eu fizer assim:
    cmbInteresse.Items.Add(New ListItem("Selecione...", "0"))
    ele insere com o "zero" certinho no value mas não fica em primeiro no dropdown.

    Como resolver isso???

    Obrigado desde já.

    Abraço,
    Cristiano

    quinta-feira, 31 de janeiro de 2008 12:49

Respostas

  • Opa me desculpe.. esqueci de um detalhe..

     

    ddLocal.Items.Insert(0, new ListItem("-- Selecione um Local --", "0"));
    quinta-feira, 31 de janeiro de 2008 13:46

Todas as Respostas

  •  

    cmbInteresse.Items.Insert(0, "Selecione...", "0");

     

    O primeiro '0' é o index e o segundo é o valor.

     

     

    espero ter ajudado

    quinta-feira, 31 de janeiro de 2008 13:20
  •  Daniel Dac wrote:

     

    cmbInteresse.Items.Insert(0, "Selecione...", "0");

     

    O primeiro '0' é o index e o segundo é o valor.

     

     

    espero ter ajudado



    Isso não funciona.
    O Insert só tem 2 argumentos e não 3.
    quinta-feira, 31 de janeiro de 2008 13:39
  • Assim querido

     

     

    Me.ddlDocs_Qt.Items.Insert(0, "Selecione...")

    Me.ddlDocs_Qt.Items(0).Value = "aí aqui vem o valor"

     

    quinta-feira, 31 de janeiro de 2008 13:43
  • Opa me desculpe.. esqueci de um detalhe..

     

    ddLocal.Items.Insert(0, new ListItem("-- Selecione um Local --", "0"));
    quinta-feira, 31 de janeiro de 2008 13:46
  • ddlinteresse.Items.Insert(0, New ListItem("Selecione", 0))
                        cmbinteresse.SelectedIndex = 0

    Mas coloque o codigo após o databind() pois o databind() apaga tudo do ddl para colocar os dados do datasource, selectedindex = 0 talvez nem precise, mas é so pra reforçar .
    quinta-feira, 31 de janeiro de 2008 14:05