前台代码:
<div>
<asp:ListBox ID=\"ListBox1\" runat=\"server\" Height=\"123px\" Width=\"113px\" SelectionMode=\"Multiple\">
<asp:ListItem>tom</asp:ListItem>
<asp:ListItem>jion</asp:ListItem>
<asp:ListItem>j</asp:ListItem>
<asp:ListItem>l</asp:ListItem>
<asp:ListItem>k</asp:ListItem>
</asp:ListBox>
<asp:Button ID=\"btnAdd\" runat=\"server\" OnClick=\"btnAdd_Click\" Text=\"添加\" />
<asp:Button ID=\"btnRemove\" runat=\"server\" Text=\"移除\" OnClick=\"btnRemove_Click\" />
<asp:ListBox ID=\"ListBox2\" runat=\"server\" Height=\"123px\" SelectionMode=\"Multiple\" Width=\"113px\"></asp:ListBox>
</div>
后台代码:
protected void btnAdd_Click(object sender, EventArgs e)
{
#region listbox添加记录的一种错误理解
//选择多条记录的时候,会有一条没有被添加,这是因为当一条记录被移除后,原来的第二条记录的index为0
//for (int i = 0; i < ListBox1.Items.Count; i++)
//{
// if (ListBox1.Items[i].Selected == true)
// {
// ListBox2.Items.Add(ListBox1.SelectedValue);
// ListBox1.Items.Remove(ListBox1.SelectedValue);
// }
//}
#endregion
#region listbox利用index索引号进行添加的简单写法
//while (0 <= ListBox1.SelectedIndex)
//{
// ListBox2.Items.Add(ListBox1.SelectedItem);
// ListBox1.Items.Remove(ListBox1.SelectedItem);
//}
#endregion
#region listbox的另一种成功添加方法
List<ListItem> list = new List<ListItem>();
for (int i = ListBox1.Items.Count - 1; i >= 0; i--)
{
if (ListBox1.Items[i].Selected == true)
{
list.Add(ListBox1.Items[i]);
ListBox1.Items.Remove(ListBox1.Items[i]);
}
}
for (int i = 0; i <=list.Count - 1; i++)
{
ListBox2.Items.Add(list[i]);
}
#endregion
}
protected void btnRemove_Click(object sender, EventArgs e)
{
while (0 <= ListBox2.SelectedIndex)
{
ListBox1.Items.Add(ListBox2.SelectedItem);
ListBox2.Items.Remove(ListBox2.SelectedItem);
}
}
本文地址:https://www.stayed.cn/item/5158
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我