在列表框中选择相同的索引

时间:2013-03-02 23:49:39

标签: c# asp.net selectedindexchanged

我在asp.net上创建了一个网站,我有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");

他们都填充了相同数量的值,我希望这样,当点击其中一个列表时,另一个列表将选择相同的索引。

我该怎么做?我假设代码将在lbxPlayer1_SelectedIndexChanged事件中?

所以当我点击“jack”时,我也希望“Brian”也被选中。

1 个答案:

答案 0 :(得分:2)

使用SelectedIndex属性:

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

如果SelectionModeMultiple

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;。   在页面加载事件(我无法改变)中完成了日常工作,其中i&gt;相信永远是

仅对数据绑定if(!IsPostBack),因为ViewState将在回发中保留项目。所以我假设这个事件永远不会被触发,因为你在回发时重新绑定了ListBoxes