独上高楼网站
  •    你所在位置:首页 VS.netASP.net控件〉如何实现ListBox控件选项的上移、下移、添加和删除操作
  • 如何实现ListBox控件选项的上移、下移、添加和删除操作
  • 作者:佚名  文章来源:C#之恋  发布日期:2007-11-14  浏览次数:1038
  • 打印这篇文章
  • 前台代码(ApplyListBox.aspx):
    < %@ Page language="c#" Codebehind="ApplyListBox.aspx.cs" AutoEventWireup="false" Inherits="ApplyListBox.WebForm1" %>
    < !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    < HTML>
     < HEAD>
      < title>WebForm1< /title>
      < meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
      < meta name="CODE_LANGUAGE" Content="C#">
      < meta name="vs_defaultClientScript" content="JavaScript">
      < meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
     < /HEAD>
     < body MS_POSITIONING="GridLayout">
      < form id="Form1" method="post" runat="server">
       < asp:ListBox id="ListBox1" style="Z-INDEX: 100; LEFT: 256px; POSITION: absolute; TOP: 120px" runat="server" SelectionMode="Multiple" Width="73px" Height="134px">
        < asp:ListItem Value="1">1< /asp:ListItem>
        < asp:ListItem Value="2">2< /asp:ListItem>
        < asp:ListItem Value="3">3< /asp:ListItem>
        < asp:ListItem Value="4">4< /asp:ListItem>
        < asp:ListItem Value="5">5< /asp:ListItem>
        < asp:ListItem Value="6">6< /asp:ListItem>
       < /asp:ListBox>
       < asp:Label id="Label2" style="Z-INDEX: 107; LEFT: 448px; POSITION: absolute; TOP: 96px" runat="server">列表框2< /asp:Label>
       < asp:ListBox id="ListBox2" style="Z-INDEX: 101; LEFT: 440px; POSITION: absolute; TOP: 120px" runat="server" SelectionMode="Multiple" Width="72px" Height="134px">< /asp:ListBox>
       < asp:Button id="Upbtn" style="Z-INDEX: 102; LEFT: 360px; POSITION: absolute; TOP: 136px" runat="server" Text="上移">< /asp:Button>
       < asp:Button id="Movebtn" style="Z-INDEX: 103; LEFT: 360px; POSITION: absolute; TOP: 176px" runat="server" Text="转移">< /asp:Button>
       < asp:Button id="Downbtn" style="Z-INDEX: 104; LEFT: 360px; POSITION: absolute; TOP: 216px" runat="server" Text="下移">< /asp:Button>
       < asp:Label id="Label1" style="Z-INDEX: 106; LEFT: 264px; POSITION: absolute; TOP: 96px" runat="server">列表框1< /asp:Label>
      < /form>
     < /body>
    < /HTML>
    后台代码(ApplyListBox.aspx.cs):
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;

    namespace ApplyListBox
    {
     /// < summary>
     /// WebForm1 的摘要说明。
     /// < /summary>
     public class WebForm1 : System.Web.UI.Page
     {
      protected System.Web.UI.WebControls.ListBox ListBox1;
      protected System.Web.UI.WebControls.ListBox ListBox2;
      protected System.Web.UI.WebControls.Button Upbtn;
      protected System.Web.UI.WebControls.Label Label1;
      protected System.Web.UI.WebControls.Label Label2;
      protected System.Web.UI.WebControls.Button Movebtn;
      protected System.Web.UI.WebControls.Button Downbtn;
     
      private void Page_Load(object sender, System.EventArgs e)
      {

      }

      #region Web Form Designer generated code
      override protected void OnInit(EventArgs e)
      {
       //
       // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
       //
       InitializeComponent();
       base.OnInit(e);
      }
      
      /// < summary>
      /// 设计器支持所需的方法 - 不要使用代码编辑器修改
      /// 此方法的内容。
      /// < /summary>
      private void InitializeComponent()
      {   
       this.Upbtn.Click += new System.EventHandler(this.Upbtn_Click);
       this.Movebtn.Click += new System.EventHandler(this.Movebtn_Click);
       this.Downbtn.Click += new System.EventHandler(this.Downbtn_Click);
       this.Load += new System.EventHandler(this.Page_Load);

      }
      #endregion

      private void Movebtn_Click(object sender, System.EventArgs e)
      {  
       int Count = ListBox1.Items.Count;
       int Index = 0;
       for(int i=0;i< Count-1;i++)
       {
        ListItem Item = ListBox1.Items[Index];
        if(ListBox1.Items[Index].Selected == true)
        {
         ListBox1.Items.Remove(Item);
         ListBox2.Items.Add(Item);
         Index--;
        }
        Index++;
       }
      }

      private void Upbtn_Click(object sender, System.EventArgs e)
      {
       //若不是第一行则上移
       if( ListBox1.SelectedIndex > 0 )
       {
        string name = ListBox1.SelectedItem.Text;
        string ID = ListBox1.SelectedItem.Value;
        int index = ListBox1.SelectedIndex;
        ListBox1.SelectedItem.Text = ListBox1.Items[index-1].Text;
        ListBox1.SelectedItem.Value = ListBox1.Items[index-1].Value;
        ListBox1.Items[index-1].Text = name;
        ListBox1.Items[index-1].Value = ID;
        ListBox1.SelectedIndex --;
       }
      }

      private void Downbtn_Click(object sender, System.EventArgs e)
      {
       //若不是最后一行则下移
       if( ListBox1.SelectedIndex >= 0 && ListBox1.SelectedIndex < ListBox1.Items.Count-1 )
       {
        string name = ListBox1.SelectedItem.Text;
        string ID = ListBox1.SelectedItem.Value;
        int index = ListBox1.SelectedIndex;
        ListBox1.SelectedItem.Text = ListBox1.Items[index+1].Text;
        ListBox1.SelectedItem.Value = ListBox1.Items[index+1].Value;
        ListBox1.Items[index+1].Text = name;
        ListBox1.Items[index+1].Value = ID;
        ListBox1.SelectedIndex ++;
       }
      }
     }
    }

  • 打印这篇文章
  • 与本文主题相关的文章
  • 返回首页