两个ListBox的互动
适合:
.Net 2.0
VS2005
效果:
ASPX页面:
CS Code :
.Net 2.0
VS2005
效果:
ASPX页面:
<table>
<tbody>
<tr>
<td>
<asp:ListBox ID="lbLeft" runat="server" SelectionMode="Multiple">
<asp:ListItem>添加名字</asp:ListItem>
<asp:ListItem>出生年月</asp:ListItem>
</asp:ListBox>
</td>
<td style="width: 27px">
<asp:Button ID="btnToRight" runat="server" Text=">>"
OnClick="btnToRight_Click" />
<br />
<asp:Button ID="btnToLeft" runat="server" Text="<<"
OnClick="btnToLeft_Click" />
</td>
<td style="width: 3px">
<asp:ListBox ID="lbRight" runat="server"
SelectionMode="Multiple"></asp:ListBox></td>
</tr>
</tbody>
</table>
<asp:Label ID="lblMsg" runat="server"></asp:Label>
<tbody>
<tr>
<td>
<asp:ListBox ID="lbLeft" runat="server" SelectionMode="Multiple">
<asp:ListItem>添加名字</asp:ListItem>
<asp:ListItem>出生年月</asp:ListItem>
</asp:ListBox>
</td>
<td style="width: 27px">
<asp:Button ID="btnToRight" runat="server" Text=">>"
OnClick="btnToRight_Click" />
<br />
<asp:Button ID="btnToLeft" runat="server" Text="<<"
OnClick="btnToLeft_Click" />
</td>
<td style="width: 3px">
<asp:ListBox ID="lbRight" runat="server"
SelectionMode="Multiple"></asp:ListBox></td>
</tr>
</tbody>
</table>
<asp:Label ID="lblMsg" runat="server"></asp:Label>
CS Code :
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;
public partial class Test1 : System.Web.UI.Page
{
protected void Page_Load ( object sender , EventArgs e )
{
}
protected void btnToRight_Click(object sender, EventArgs e)
{
if(lbLeft.SelectedItem != null)
{
AddItemFromSourceListBox(lbLeft, lbRight);
RemoveSelectedItem(lbLeft);
lblMsg.Text=""; //注意:为什么要这一行?
foreach(ListItem item in lbRight.Items)
{
if(item.Selected)
lblMsg.Text +=item.Text;
}
}
}
protected void btnToLeft_Click(object sender, EventArgs e)
{
if(lbRight.SelectedItem != null)
{
AddItemFromSourceListBox(lbRight, lbLeft);
RemoveSelectedItem(lbRight);
}
}
private void RemoveSelectedItem(ListBox listControl)
{
while(listControl.SelectedIndex != -1)
{
listControl.Items.RemoveAt(listControl.SelectedIndex);
}
}
private void AddItemFromSourceListBox(ListBox sourceBox,ListBox targetBox)
{
foreach(ListItem item in sourceBox.Items)
{
if(item.Selected == true && !targetBox.Items.Contains(item))
{
targetBox.Items.Add(item);
}
}
}
}
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;
public partial class Test1 : System.Web.UI.Page
{
protected void Page_Load ( object sender , EventArgs e )
{
}
protected void btnToRight_Click(object sender, EventArgs e)
{
if(lbLeft.SelectedItem != null)
{
AddItemFromSourceListBox(lbLeft, lbRight);
RemoveSelectedItem(lbLeft);
lblMsg.Text=""; //注意:为什么要这一行?
foreach(ListItem item in lbRight.Items)
{
if(item.Selected)
lblMsg.Text +=item.Text;
}
}
}
protected void btnToLeft_Click(object sender, EventArgs e)
{
if(lbRight.SelectedItem != null)
{
AddItemFromSourceListBox(lbRight, lbLeft);
RemoveSelectedItem(lbRight);
}
}
private void RemoveSelectedItem(ListBox listControl)
{
while(listControl.SelectedIndex != -1)
{
listControl.Items.RemoveAt(listControl.SelectedIndex);
}
}
private void AddItemFromSourceListBox(ListBox sourceBox,ListBox targetBox)
{
foreach(ListItem item in sourceBox.Items)
{
if(item.Selected == true && !targetBox.Items.Contains(item))
{
targetBox.Items.Add(item);
}
}
}
}