none
Dropdownlist RRS feed

  • Pergunta

  • Como deixar a primeira linha em branco...Os dados são carregado pelo banco de dados mas a primeira lina quero que venha em branco...
    quinta-feira, 27 de agosto de 2009 19:48

Respostas

  • Ola taibeiro,


    Você está usando um DataReader ou algo do tipo para buscar do banco?

    Sim:

    Exemplo com DataReader:

    dr = ExecuteReader();

    if (dr.HasRows()) // verifica se encontrou alguma linha
    {
       dropdownlist1.Items.Add("---Selecione---");
       dropdownlist1.Items[0].Value = "-1"; //voce pode adicionar um valor que nao vai haver no banco, para algum controle seu
       while (dr.Read()){
         dropdownlist1.Items.Add(dr["Descricao"].ToString());    
       }//while
    }


    Mais ou menos isso, exemplo basico para ter uma ideia.


    Atenciosamente


    Se a reposta for útil marque como tal


    Thiago Dorneles
    • Marcado como Resposta Harley Araujo segunda-feira, 31 de agosto de 2009 14:41
    quinta-feira, 27 de agosto de 2009 20:13
  • Olá Taibeiro, como vai ?

    Você pode utilizar o seguinte m,étodo:

    public void ClearDropDownList(DropDownList d)
    {
        d.DataBind();
        d.Items.Insert(0,new ListItem("Selecione...","0"));
        d.SelectedValue = "0";
    }

    Assim toda vez que você precisar limpar um dropdownlist, você chama está funlção passando seu controle e ela irá preencher o item inicial. Deopis disso, você pode utilizar um CompareValidator para verificar se o usuário selecionou algo, por exemplo:

        <asp:DropDownList ID="ddlTipoGenerico" runat="server">
          ...  
        </asp:DropDownList>
      
      <asp:CompareValidator ID="cvTipoGenerico" runat="server" ControlToValidate="ddlTipoGenerico" ValueToCompare="0" Operator="NotEqual" Display="Dynamic" SetFocusOnError="true"></asp:CompareValidator>

    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
    • Marcado como Resposta Harley Araujo segunda-feira, 31 de agosto de 2009 14:41
    quinta-feira, 27 de agosto de 2009 20:18

Todas as Respostas

  • Ola taibeiro,


    Você está usando um DataReader ou algo do tipo para buscar do banco?

    Sim:

    Exemplo com DataReader:

    dr = ExecuteReader();

    if (dr.HasRows()) // verifica se encontrou alguma linha
    {
       dropdownlist1.Items.Add("---Selecione---");
       dropdownlist1.Items[0].Value = "-1"; //voce pode adicionar um valor que nao vai haver no banco, para algum controle seu
       while (dr.Read()){
         dropdownlist1.Items.Add(dr["Descricao"].ToString());    
       }//while
    }


    Mais ou menos isso, exemplo basico para ter uma ideia.


    Atenciosamente


    Se a reposta for útil marque como tal


    Thiago Dorneles
    • Marcado como Resposta Harley Araujo segunda-feira, 31 de agosto de 2009 14:41
    quinta-feira, 27 de agosto de 2009 20:13
  • Olá Taibeiro, como vai ?

    Você pode utilizar o seguinte m,étodo:

    public void ClearDropDownList(DropDownList d)
    {
        d.DataBind();
        d.Items.Insert(0,new ListItem("Selecione...","0"));
        d.SelectedValue = "0";
    }

    Assim toda vez que você precisar limpar um dropdownlist, você chama está funlção passando seu controle e ela irá preencher o item inicial. Deopis disso, você pode utilizar um CompareValidator para verificar se o usuário selecionou algo, por exemplo:

        <asp:DropDownList ID="ddlTipoGenerico" runat="server">
          ...  
        </asp:DropDownList>
      
      <asp:CompareValidator ID="cvTipoGenerico" runat="server" ControlToValidate="ddlTipoGenerico" ValueToCompare="0" Operator="NotEqual" Display="Dynamic" SetFocusOnError="true"></asp:CompareValidator>

    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
    • Marcado como Resposta Harley Araujo segunda-feira, 31 de agosto de 2009 14:41
    quinta-feira, 27 de agosto de 2009 20:18
  • taibeiro

    Seu dropdown não fica em branco por que quando vc chama o databind ele sobrescreve qualquer item que ja tenha sido inserido. Sendo assim, vc deve inserir o primeiro item manualmente de depois varrer ser dataset ou datatable ou list e adicionar um a um dentro de um foreach. Assim eles não se sobrescrevem.

    Uma dica, coloque este evento de carga no page load e teste com isPostBack para carregar somente na primeira vez que carregar a página. Nas demais o viewstate se encarrega de mostrar os itens.


    Espero ter ajudado
    []'s
    Sanses


    --> se a resposta foi util, marque-a como util.
    • Sugerido como Resposta Silmar Sanches sábado, 29 de agosto de 2009 13:38
    quinta-feira, 27 de agosto de 2009 23:49