asp.net listbox實現單選全選取消

字號:


    這篇文章主要介紹了asp.net listbox單選全選取消的應用,需要的朋友可以參考下
    前臺
    代碼如下:
    <head runat="server">
    <title>部門多選</title>
    <meta name="GENERATOR" content="Microsoft Visual Studio.NET 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">
    <SCRIPT language="javascript" type="text/javascript">
    function Ok()
    {
    window.close();
    opener.document.all.txtOtherMan.value = window.Form2.hide.value;
    }
    function Cancel()
    {
    window.close();
    }
    </SCRIPT>
    </head>
    <body>
    <form id="Form2" method="post" runat="server">
    <TABLE cellSpacing="0" cellPadding="0">
    <TR>
    <TD>
    <INPUT id="hide" type="hidden" value="<%=pass()%>">
    <BUTTON id="ok" onclick="javascript:Ok();" type="button">確定</BUTTON>
    <BUTTON id="cancel" onclick="javascript:Cancel();" type="button">取消</BUTTON>
    <%-- <asp:Button ID="Button1" runat="server" Text="確定" OnClick="Button1_Click" />--%>
    </TD>
    </TR>
    <TR>
    <TD vAlign="top">
    <DIV>
    <asp:listbox id="UserList" runat="server" Height="201px" Width="200px" SelectionMode="Multiple" DataTextField="Name" DataValueField="Name"></asp:listbox>
    <asp:listbox id="lstSelEmp" runat="server" Height="202px" Width="211px"></asp:listbox>
    <asp:label id="Label4" runat="server" CssClass="tttable">選取部門:</asp:label>
    <asp:label id="Label5" runat="server" CssClass="tttable" Height="18px" Width="108px">已選定部門:</asp:label>
    <asp:button id="cmdAdd" runat="server" CssClass="bsbttn" Height="27px" Width="63px" Text="添加->" onclick="cmdAdd_Click"></asp:button>
    <asp:button id="cmdDel" runat="server" CssClass="bsbttn" Height="30px" Width="60px" Text="<-刪除" onclick="cmdDel_Click"></asp:button>
    <asp:button id="cmdAddAll" runat="server" CssClass="bsbttn" Height="30px" Width="60px" Text="全選" onclick="cmdAddAll_Click"></asp:button>
    <asp:button id="cmdDelAll" runat="server" CssClass="bsbttn" Height="30px" Width="60px" Text="全不選" onclick="cmdDelAll_Click"></asp:button>
    </DIV>
    </TD>
    </TR>
    </TABLE>
    </form>
    </body>
    后臺
    代碼如下:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using BLL;
    using Model;
    public partial class Boarding_HarmSelRoleEmp : System.Web.UI.Page
    {
    protected void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
    if (BLL.EmailUser.GetEmailUserByID(Session["username"].ToString()).userCompany.ToString() == "北京")//登錄判斷
    {
    //左側listbox綁定部門
    this.UserList.Items.Clear();
    this.UserList.Items.Add(new ListItem("總董事長辦公室", "總董事長辦公室"));
    this.UserList.Items.Add(new ListItem("財務", "財務"));
    this.UserList.Items.Add(new ListItem("市場", "市場"));
    this.UserList.Items.Add(new ListItem("行政", "行政"));
    this.UserList.Items.Add(new ListItem("IT", "IT"));
    }
    }
    }
    protected void cmdAdd_Click(object sender, System.EventArgs e)//添加到右側
    {
    bool exist=false;//判斷在右側是否存在,不存在則將左側部門添加到右側
    foreach( ListItem li in lstSelEmp.Items)
    {
    if(li.Value==UserList.SelectedItem.Value)
    {
    exist=true;
    }
    }
    if(exist==false)
    {
    lstSelEmp.Items.Add(new ListItem(UserList.SelectedItem.Text,UserList.SelectedItem.Value));
    }
    }
    protected void cmdDel_Click(object sender, System.EventArgs e)//取消右側選擇
    {
    lstSelEmp.Items.Remove(lstSelEmp.SelectedItem);
    }
    protected void cmdDelAll_Click(object sender, System.EventArgs e)//全部取消右側選擇
    {
    for(int i=0;i<lstSelEmp.Items.Count; )
    lstSelEmp.Items.Remove(lstSelEmp.Items[i]);
    }
    protected void cmdAddAll_Click(object sender, System.EventArgs e)//全部添加到右側
    {
    foreach(ListItem li in UserList.Items)
    {
    bool exist=false;
    foreach( ListItem lised in lstSelEmp.Items)
    if(lised.Value==li.Value)
    exist=true;
    if(exist==false)
    lstSelEmp.Items.Add(new ListItem(li.Text,li.Value));
    }
    }
    public string pass()
    {
    string txt="";
    for(int j=0;j < lstSelEmp.Items.Count;j++)
    {
    txt+=lstSelEmp.Items[j];
    txt+="','";
    }
    return txt;
    }
    }