我试图遍历列表框内所有选择的值,并将它们添加到字符串中。但是,当我执行以下所有循环时,我得到的是列表框中的第一个选定项目,而随后的所有选定项目都不是。谁能看到我要去哪里错了?
我试图逐步解决它,但似乎并没有意识到已选择了项目。也许.Selected不能像我期望的那样工作,这适用于所有已选择要拾取的物品。
string selectedItem = "";
if (impactedServicesData.Items.Count > 0)
{
for (int i = 0; i < impactedServicesData.Items.Count; i++)
{
if (impactedServicesData.Items[i].Selected)
{
if (selectedItem == "")
{
selectedItem = impactedServicesData.Items[i].Value;
}
else
{
selectedItem += "," + impactedServicesData.Items[i].Value;
}
}
}
}
确保正确设置了SelectionMode以允许选择多个项目。
然后,对于多选列表框,可以使用SelectedItems获取所有选定项的集合。
您的代码可以重写为:
string selectedItem = "";
foreach (var s in impactedServicesData.SelectedItems)
{
if (selectedItem == "")
{
selectedItem = s.Value;
}
else
{
selectedItem += "," + s.Value;
}
}
在循环中串联多个字符串时,还应考虑使用StringBuilder。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句