Usuário com melhor resposta
dropDowlist

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.
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
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 -
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>
-
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