从以前选择的列表框中选择列表框项
本文关键字:列表 选择 | 更新日期: 2023-09-27 17:55:25
我有两个列表框,我正在尝试从第一个列表中自动选择第二个列表。问题是,我卡在第二个 Foreach 循环中,第一个循环与它不同步运行。有人可以看看,谢谢。
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;
}
}
}
}
如果两个ListBoxes
具有相同的项目:
for(int i=0; i<cbl_fDepartments.Items.Count; i++)
cbl_fDepartments.Items[i].Selected = clb_Departments.Items[i].Selected;
我认为这不是正确的方法。从第一页上的第一个列表框中捕获数据后,将其隐藏在某个位置。然后,在呈现审阅页时,使用以前存储的值设置第二个列表框的 SelectedValue。
无需同步任何内容。
我仍然对你想做什么有点困惑,但这可能会让你开始吗?
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;