2个Listbox 之间数据的左右移动,及上下移动

基本情况

效果图:

左移效果:

其余效果:右边的listbox进行上下移动。

 listbox的属性设置为:Multiple

 

解决方案(一):

调试结果:PASS (√)

 

ContractedBlock.gif ExpandedBlockStart.gif Code
  1
  2public partial class Default10 : System.Web.UI.Page
  3ExpandedBlockStart.gifContractedBlock.gif{
  4    protected void Page_Load(object sender, EventArgs e)
  5ExpandedSubBlockStart.gifContractedSubBlock.gif    {
  6        //如果listbox1集合总数>0,则‘右移’按钮状态为真
  7        if ((this.ListBox1.Items.Count > 0)&&(this.ListBox2.Items.Count>0))
  8ExpandedSubBlockStart.gifContractedSubBlock.gif        {
  9            this.btAdd.Enabled = true;
 10        }

 11        else
 12ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 13            this.btAdd.Enabled = false;
 14        }

 15        //如果listbox2集合总数>0,则‘左移’按钮状态为真
 16        if(this.ListBox2.Items.Count>0)
 17ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 18            this.btAddAll.Enabled = true;
 19        }

 20        else
 21ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 22            this.btAddAll.Enabled = false;
 23        }

 24
 25    }

 26
 27    //右移
 28    protected void btAdd_Click(object sender, EventArgs e)
 29ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 30        try
 31ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 32            string listBox1 = this.ListBox1.SelectedItem.Text;
 33            int i = this.ListBox2.SelectedIndex;
 34            int j = this.ListBox1.Items.Count;
 35
 36            if (j == 0)
 37ExpandedSubBlockStart.gifContractedSubBlock.gif            {
 38                this.btAdd.Enabled = false;
 39            }

 40            else
 41ExpandedSubBlockStart.gifContractedSubBlock.gif            {
 42                this.btAdd.Enabled = true;
 43            }

 44
 45            this.ListBox2.Items.Add(listBox1);
 46            this.ListBox1.Items.Remove(listBox1);
 47            
 48        }

 49        catch (Exception)
 50ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 51            Response.Write("<script language =javascript>alert('请选择元素!')</script>");
 52        }

 53    }

 54
 55    //左移
 56    protected void btAddAll_Click(object sender, EventArgs e)
 57ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 58        try
 59ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 60            if (this.ListBox2.Items.Count == 0)
 61ExpandedSubBlockStart.gifContractedSubBlock.gif            {
 62                this.btAddAll.Enabled = false;
 63            }

 64            else
 65ExpandedSubBlockStart.gifContractedSubBlock.gif            {
 66                this.btAddAll.Enabled = true;
 67            }

 68            string listBox2 = this.ListBox2.SelectedItem.Text;
 69            this.ListBox2.Items.Remove(listBox2);
 70            this.ListBox1.Items.Add(listBox2);
 71        }

 72        catch(Exception)
 73ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 74            Response.Write("<script language =javascript>alert('请选择元素!')</script>");
 75        }

 76        
 77    }

 78
 79    //清除listbox2所有内容
 80    protected void btRemove_Click(object sender, EventArgs e)
 81ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 82        this.ListBox2.Items.Clear();
 83    }

 84    //PostBack事件1
 85    protected void ListBox2_SelectedIndexChanged(object sender, EventArgs e)
 86ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 87        if (this.ListBox2.Items.Count == 0)
 88ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 89            this.btAddAll.Enabled = false;
 90        }

 91    }

 92    //PostBack事件2
 93    protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
 94ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 95        if (this.ListBox1.Items.Count == 0)
 96ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 97            this.btAdd.Enabled = false;
 98        }

 99        else
100ExpandedSubBlockStart.gifContractedSubBlock.gif        {
101            this.btAdd.Enabled=true;
102        }

103    }

104    
105    //上移
106    protected void Button4_Click(object sender, EventArgs e)
107ExpandedSubBlockStart.gifContractedSubBlock.gif    {
108        try
109ExpandedSubBlockStart.gifContractedSubBlock.gif        {
110            string item = this.ListBox2.SelectedItem.Text;
111            int i = this.ListBox2.SelectedIndex;
112            int j = this.ListBox2.Items.Count;
113            if ((j > 0&& (i != 0))
114ExpandedSubBlockStart.gifContractedSubBlock.gif            {
115                this.ListBox2.Items.Remove(this.ListBox2.SelectedItem.Text);
116                this.ListBox2.Items.Insert(i - 1, item);
117                this.ListBox2.SelectedIndex = i - 1;
118            }

119        }

120        catch (Exception)
121ExpandedSubBlockStart.gifContractedSubBlock.gif        {
122            Response.Write("<script language =javascript>alert('请选择元素!')</script>");
123        }

124
125    }

126    //下移
127    protected void Button5_Click1(object sender, EventArgs e)
128ExpandedSubBlockStart.gifContractedSubBlock.gif    {
129        try
130ExpandedSubBlockStart.gifContractedSubBlock.gif        {
131            string item = this.ListBox2.SelectedItem.Text;
132            int i = this.ListBox2.SelectedIndex;
133            int j = this.ListBox2.Items.Count;
134            if ((i < j - 1&& (j > 0))
135ExpandedSubBlockStart.gifContractedSubBlock.gif            {
136                this.ListBox2.Items.Remove(this.ListBox2.SelectedItem.Text);
137                this.ListBox2.Items.Insert(i + 1, item);
138                this.ListBox2.SelectedIndex = i + 1;
139            }

140        }

141        catch (Exception)
142ExpandedSubBlockStart.gifContractedSubBlock.gif        {
143            Response.Write("<script language =javascript>alert('请选择元素!')</script>");
144        }

145    }

146}

147

 

 

 

解决方案(二):

调试结果:PASS (√)

结果:可操作性灵活,数据不会异常

ContractedBlock.gif ExpandedBlockStart.gif Code
 1
 2public partial class _Default : System.Web.UI.Page
 3ExpandedBlockStart.gifContractedBlock.gif{
 4    protected void Page_Load(object sender, EventArgs e)
 5ExpandedSubBlockStart.gifContractedSubBlock.gif    {
 6
 7    }

 8    protected void Button1_Click(object sender, EventArgs e)
 9ExpandedSubBlockStart.gifContractedSubBlock.gif    {
10        //定义中间动态存储
11        ArrayList arrRight=new ArrayList();
12
13        //读取左边listbox的item的选中项
14        foreach (ListItem item in this.leftListBox.Items)
15ExpandedSubBlockStart.gifContractedSubBlock.gif        {
16            if (item.Selected)
17ExpandedSubBlockStart.gifContractedSubBlock.gif            {
18                arrRight.Add(item);
19            }

20        }

21        //执行右移操作
22        foreach (ListItem item in arrRight)
23ExpandedSubBlockStart.gifContractedSubBlock.gif        {
24            this.rightListBox.Items.Add(item);
25            this.leftListBox.Items.Remove(item);
26        }

27
28    }

29    protected void Button2_Click(object sender, EventArgs e)
30ExpandedSubBlockStart.gifContractedSubBlock.gif    {
31        ArrayList arrLeft = new ArrayList();
32        //读取右边listboxitem的选中项
33        foreach (ListItem item in this.rightListBox.Items)
34ExpandedSubBlockStart.gifContractedSubBlock.gif        {
35            if (item.Selected)
36ExpandedSubBlockStart.gifContractedSubBlock.gif            {
37                arrLeft.Add(item);
38            }

39        }

40        //执行左移操作
41        foreach (ListItem item in arrLeft)
42ExpandedSubBlockStart.gifContractedSubBlock.gif        {
43            this.leftListBox.Items.Add(item);
44            this.rightListBox.Items.Remove(item);
45        }

46    }

47}

48

转载于:https://www.cnblogs.com/fangqing1986/archive/2008/08/23/1274756.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值