none
dropDowlist RRS feed

  • Pergunta

  • Olá,

    tenho vários dropdowlis com os mesmos valores de 1 a 9 em várias questões seguidas. Só que na primeira questão se eu selecionar por exemplo o valor "3", no dropdowlist seguinte já não quero que apareça o 3. e assim por diante. ou seja não posso repetir o mesmo valor nas varias questões. A medida que vou escolhendo um valor esse valor desapareça no dropdow seguinte.

    segunda-feira, 12 de setembro de 2016 11:27

Respostas

  • Agora eu compreendi a sua necessidade.

    Pois bem, pelo visto está usando asp.net web forms. Uma das maneiras de fazer é construir um método que seja executado toda vez que você marcar uma dropdownList e vincular o mesmo no evento OnSelectedChanged de cada dropdown (Todas as  DropDown precisam estar como AutoPostBack=true). Exemplo:

    <asp:DropDownList ID="DpA" runat="server" AutoPostBack="True" SelectedValue='<%# Bind("P11_A_H") %>' OnSelectedIndexChanged="AlterarValores">


    protected void AlterarValores(object sender, EventArgs e)
    {
       var valorSelecionado = (sender as DropDownList).SelectedValue;
       if (!(sender as DropDownList).ID.Equals("DpA"))
             DpA.Items.Remove(new ListItem(valorSelecionado));
       else if (!(sender as DropDownList).ID.Equals("DpB"))
             DpB.Items.Remove(new ListItem(valorSelecionado));
    }

    Fique a vontade para refinar esse exemplo (é apenas um "Norte" para seguir).

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Marcado como Resposta Cambrige segunda-feira, 12 de setembro de 2016 15:11
    segunda-feira, 12 de setembro de 2016 12:55

Todas as Respostas

  • Olá,

    Terás que usar fonte de dados diferentes, essas dropdownlists estão sendo carregadas pela mesma fonte de dados? Isso faz com que fiquem "vinculadas"


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    segunda-feira, 12 de setembro de 2016 11:53
  • Olá,

    Não estou usando nenhuma fonte. tenho-o assim. Mas posso introduzir esses valores na BD se for necessário. Os valores são os mesmos nas varias questões. O objetivo é dar o grau de importancia para cada questão. Se eu escolher na primeira pergunta que o grau de importância é 1, na segunda pergunta o 1 não pode aparecer porque pode ser que o usuario escolha duas vezes o mesmo valor.

    <asp:DropDownList ID="DpA" runat="server" AutoPostBack="True" SelectedValue='<%# Bind("P11_A_H") %>'>
                                            <asp:ListItem></asp:ListItem>
                                            <asp:ListItem>1</asp:ListItem>
                                            <asp:ListItem>2</asp:ListItem>
                                            <asp:ListItem>3</asp:ListItem>
                                            <asp:ListItem>4</asp:ListItem>
                                            <asp:ListItem>5</asp:ListItem>
                                            <asp:ListItem>6</asp:ListItem>
                                            <asp:ListItem>7</asp:ListItem>
                                            <asp:ListItem>8</asp:ListItem>
                                        </asp:DropDownList>
    
    
    
    


    segunda-feira, 12 de setembro de 2016 12:22
  • Agora eu compreendi a sua necessidade.

    Pois bem, pelo visto está usando asp.net web forms. Uma das maneiras de fazer é construir um método que seja executado toda vez que você marcar uma dropdownList e vincular o mesmo no evento OnSelectedChanged de cada dropdown (Todas as  DropDown precisam estar como AutoPostBack=true). Exemplo:

    <asp:DropDownList ID="DpA" runat="server" AutoPostBack="True" SelectedValue='<%# Bind("P11_A_H") %>' OnSelectedIndexChanged="AlterarValores">


    protected void AlterarValores(object sender, EventArgs e)
    {
       var valorSelecionado = (sender as DropDownList).SelectedValue;
       if (!(sender as DropDownList).ID.Equals("DpA"))
             DpA.Items.Remove(new ListItem(valorSelecionado));
       else if (!(sender as DropDownList).ID.Equals("DpB"))
             DpB.Items.Remove(new ListItem(valorSelecionado));
    }

    Fique a vontade para refinar esse exemplo (é apenas um "Norte" para seguir).

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Marcado como Resposta Cambrige segunda-feira, 12 de setembro de 2016 15:11
    segunda-feira, 12 de setembro de 2016 12:55
  • Valeu!!

    Funcionou.

    è isso mesmo que preciso.

    • Marcado como Resposta Cambrige segunda-feira, 12 de setembro de 2016 15:11
    • Não Marcado como Resposta Cambrige segunda-feira, 12 de setembro de 2016 15:11
    segunda-feira, 12 de setembro de 2016 15:11