2013-01-23 179 views
0

我有兩個列表框,我試圖從第一個列表框中自動選擇第二個列表框。麻煩的是,我陷入了第二個Foreach循環,第一個不能對它執行insync。有人可以看看,謝謝。從先前選擇的列表框中選擇列表框項目

 foreach (ListItem item in this.clb_Departments.Items) 
     { 
      foreach (ListItem it in this.cbl_fDepartments.Items) 
      { 
        if (item.Value == "2") 
        { 
         if (it.Value == "2") 
         { 
          if (item.Selected == true) 
          { 
           it.Selected = true; 
           break; 
          } 
         } 
        } 
        if (item.Value == "3") 
        { 
         if (it.Value == "3") 
         { 
          if (item.Selected == true) 
          { 
           it.Selected = true; 
          } 
         } 
        } 
      } 
+0

爲什麼你有2個列表框具有完全相同的數據? –

+0

複製第二個最後的審查頁面 – jpavlov

+0

所以你試圖在不同的頁面上同步2個列表框?你在做什麼框架? –

回答

3

如果兩個ListBoxes具有相同的項目:

for(int i=0; i<cbl_fDepartments.Items.Count; i++) 
    cbl_fDepartments.Items[i].Selected = clb_Departments.Items[i].Selected; 
0

我不認爲這是正確的做法。一旦從第一頁上的第一個列表框中捕獲數據,就將其存儲在某個地方。然後,當您呈現審閱頁面時,您使用之前隱藏的值設置第二個列表框的SelectedValue。

沒有必要同步任何東西。

0

我對你想要做的事情仍然有點困惑,但這可能會讓你開始?

foreach (ListItem item in this.clb_Departments.Items) 
    { 
     this.cbl_fDepartments.Items[this.cbl_fDepartments.IndexOf(item)].Selected = item.Selected; 
    } 

如果不工作,你可以試試這個你foreach內代替:

this.cbl_fDepartments.Items.Cast<ListItem>().Where(t=>t.Value == item.Value).Selected = item.Selected;