Je crée un site web sur asp.net et j’ai 2 listes de sélection:
lbxPlayer1 and lbxPlayer2 lbxPlayer1.Items.Add("bob"); lbxPlayer1.Items.Add("jack"); lbxPlayer1.Items.Add("sam"); lbxPlayer2.Items.Add("fred"); lbxPlayer2.Items.Add("brian"); lbxPlayer2.Items.Add("dave");
ils ont tous deux été renseignés avec le même nombre de valeurs et j’aimerais que, lorsque vous cliquez sur l’une des listes, l’autre liste sélectionne le même index.
Comment puis-je faire cela? Je suppose que le code serait dans l’événement lbxPlayer1_SelectedIndexChanged?
alors quand je clique sur “jack”, je veux aussi que “Brian” soit sélectionné.
Utilisez la propriété SelectedIndex
:
int index = lbxPlayer1.SelectedIndex; if(lbxPlayer2.Items.Count > index) lbxPlayer2.SelectedIndex = index;
Si SelectionMode
est Multiple
:
for (int i = 0; i < lbxPlayer2.Items.Count; i++) { if(i >= lbxPlayer1.Items.Count) lbxPlayer2.Items[i].Selected = false; else lbxPlayer2.Items[i].Selected = lbxPlayer1.Items[i].Selected; }
Mettre à jour
lbxPlayer2.SelectedIndex = lbxPlayer1.SelectedIndex;
bien, il a essayé et rien ne s’est produit nilbxPlayer2.SelectedIndex = lbxPlayer1.SelectedIndex;
essayé cela et il ne se passe rien non pluslbxPlayer2.SelectedIndex = lbxPlayer1.SelectedIndex;
. La liaison de jour se fait dans l’événement pageload (que je ne peux pas changer), ce qui, je le crois, est toujours o
Ne les if(!IsPostBack)
depuis ViewState
conservera les éléments dans les publications. Donc, je suppose que cet événement n’est jamais déclenché parce que vous reliez les ListBoxes
sur des publications.