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 style="WIDTH: 600px; POSITION: absolute; HEIGHT: 320px" cellSpacing="0" cellPadding="0" border="0">

  <TR>

  <TD style="WIDTH: 600px; HEIGHT: 20px">

  <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 style="WIDTH: 600px; height: 310px;" vAlign="top" align="left">

  <DIV class="box" style="WIDTH: 600px ;HEIGHT: 300px; left: 0px; top: 0px;">

  <asp:listbox id="UserList" style="Z-INDEX: 105; LEFT: 27px; POSITION: absolute; TOP: 56px" runat="server" Height="201px" Width="200px" SelectionMode="Multiple" DataTextField="Name" DataValueField="Name"></asp:listbox>

  <asp:listbox id="lstSelEmp" style="Z-INDEX: 106; LEFT: 317px; POSITION: absolute; TOP: 58px" runat="server" Height="202px" Width="211px"></asp:listbox>

  <asp:label id="Label4" style="Z-INDEX: 107; LEFT: 30px; POSITION: absolute; TOP: 32px" runat="server" CssClass="tttable">选取部门:</asp:label>

  <asp:label id="Label5" style="Z-INDEX: 108; LEFT: 316px; POSITION: absolute; TOP: 34px" runat="server" CssClass="tttable" Height="18px" Width="108px">已选定部门:</asp:label>

  <asp:button id="cmdAdd" style="Z-INDEX: 109; LEFT: 235px; POSITION: absolute; TOP: 145px" runat="server" CssClass="bsbttn" Height="27px" Width="63px" Text="添加->" onclick="cmdAdd_Click"></asp:button>

  <asp:button id="cmdDel" style="Z-INDEX: 110; LEFT: 237px; POSITION: absolute; TOP: 184px" runat="server" CssClass="bsbttn" Height="30px" Width="60px" Text="<-删除" onclick="cmdDel_Click"></asp:button>

  <asp:button id="cmdAddAll" style="Z-INDEX: 111; LEFT: 238px; POSITION: absolute; TOP: 64px" runat="server" CssClass="bsbttn" Height="30px" Width="60px" Text="全选" onclick="cmdAddAll_Click"></asp:button>

  <asp:button id="cmdDelAll" style="Z-INDEX: 112; LEFT: 236px; POSITION: absolute; TOP: 104px" 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;

  }

  }