ListBox多选模式(SelectionMode=Multiple)的使用

本文介绍了如何在Windows Forms和ASP.NET中启用ListBox的多选功能,通过设置SelectionMode为Multiple。在WinForm环境下,获取选中项简单直接。而在ASP.NET中,通过遍历ListBox的Items,检查Selected属性来获取选中项,并提供了在两个ListBox之间转移选中项的示例代码,注意避免因删除项目导致的枚举错误。

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.bj1568.com/)
鸿石网际( http://www.hungstone.cn/)

转载于:https://www.cnblogs.com/gooddasenlin/archive/2009/07/04/1516852.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值