ListBox多选模式(SelectionMode=Multiple)的使用
把ListBox的属性设为:SelectionMode=Multiple
可以实现ListBox的多选功能.
要获取这些选中的ListItem,在WinForm下轻而易举!
this
.lst_AXzhz.SelectedItems;
但在ASP.NET下却要麻烦一些 !(也可通过脚本实现.麻烦,只用在不进行PostBack的情况下,就不说了.)
ListItemCollection items
=
new
ListItemCollection();
foreach
(ListItem item
in
this
.lst_AXzhz.Items)
{
if (item.Selected)
{
items.Add(item);
}
}
===================================
===================================ASP.NET中添加控件ListBox , 属性设为 Multiple , 则可进行多选.
就以两个listbox之间多选添加项目为例.
两个控件为listboxleft , listboxright 定义了一个动态数组用于中间存储 arrRight .具体代码如下:
//读取右边选中项目
ArrayList arrRight = new ArrayList();
foreach(ListItem item in this.ListBoxRight.Items) //按类型listitem读取listbox中选定项
{
if(item.Selected) //判断是否选中
{
arrRight.Add(item);
}
}
//右边移除选定项目 左边添加
foreach(ListItem item in arrRight)
{
this.ListBoxLeft.Items.Add(item);
this.ListBoxRight.Items.Remove(item);
}
不能将item的添加删除直接写在if(item.Selected){}内,因为项目remove后会出现错误
"集合已修改;枚举操作可能不会执行。"
鸿石网际( http://www.hungstone.cn/)
本文介绍了如何在Windows Forms和ASP.NET中启用ListBox的多选功能,通过设置SelectionMode为Multiple。在WinForm环境下,获取选中项简单直接。而在ASP.NET中,通过遍历ListBox的Items,检查Selected属性来获取选中项,并提供了在两个ListBox之间转移选中项的示例代码,注意避免因删除项目导致的枚举错误。

745

被折叠的 条评论
为什么被折叠?



