我正在开发一个应用程序,需要放置字段在前端就像take复选框一样。如果用户在复选框上选择了特定的字段,那么根据选择,我将从sql数据库生成水晶报告。
所以最多10个字段复选框就足够了。但是字段增加到30,并且表单上的复选框计数也增加了
所以我决定采用列表框。但在列表框中如何识别从用户中选择了多个项目?
在列表框中,我已将SelectionMode
属性设置为MultiSimple
。
但如果我选择了两个或多个项目,listbox只会获取第一个项目的索引。
代码:
if(listbox1.SelectedIndex==0)
{
//my code for first field.
}
if(listbox1.SelectedIndex==1)
{
//my code for second field.
}
注意:我编写了一个基于用户的动态sql查询方法所选项目。因此,在我的方法createSQLquery()
中,我想识别索引。
我想确定用户从前端选择了哪些项目,并在此基础上继续编写代码。
感谢
有三种方法可以找到
1)
foreach (object item in listbox.SelectedItems)
{
// do domething
}
2)
for (int i = 0; i < ListBox1.Items.Count; i++)
{
if (ListBox1.Items[i].Selected)
{
// do domething
}
}
3)
var selected = ListBox1.GetSelectedIndices().ToList();
var selectedValues = (from c in selected
select ListBox1.Items[c].Value).ToList();
您可以使用ListBox.SelectedIndices
属性来获取多个选定项目的索引。
获取一个集合,该集合包含所有列表框中当前选定的项目。