0

私はasp.netでWebサイトを作成しており、2つのリストボックスがあります:

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");

どちらにも同じ量の値が入力されており、リストの 1 つをクリックすると他のリストが同じインデックスを選択するようにしたいと考えています。

どうすればいいですか?コードは lbxPlayer1_SelectedIndexChanged イベントにあると思いますか?

「ジャック」をクリックすると、「ブライアン」も選択されます。

4

1 に答える 1

2

SelectedIndex次のプロパティを使用します。

int index = lbxPlayer1.SelectedIndex;
if(lbxPlayer2.Items.Count > index)
   lbxPlayer2.SelectedIndex = index;

SelectionModeの場合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;
}

アップデート

まあそれを試しても何も起こらなかったし、これを試しても何も起こらなかったlbxPlayer2.SelectedIndex = lbxPlayer1.SelectedIndex;。dayabinding は pageload イベント (変更できません) で行われています。これは常に o であると信じています

ポストバック間でアイテムを保持するためif(!IsPostBack)、それらのみをデータバインドします。したがって、ポストバックで再ViewStateバインドするため、このイベントがトリガーされることはないと思います。ListBoxes

于 2013-03-02T23:52:19.170 に答える