對(duì)ListBox的添加移除操作實(shí)例分享
更新時(shí)間:2013年04月10日 17:03:30 作者:
ListBox的添加移除操作在開發(fā)過(guò)程中經(jīng)常會(huì)遇到過(guò),接下來(lái)本文也實(shí)現(xiàn)一個(gè),思路很清晰,感興趣的朋友可以參考下,希望可以幫助到你
前臺(tái)代碼:
<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>
后臺(tái)代碼:
protected void btnAdd_Click(object sender, EventArgs e)
{
#region listbox添加記錄的一種錯(cuò)誤理解
//選擇多條記錄的時(shí)候,會(huì)有一條沒(méi)有被添加,這是因?yàn)楫?dāng)一條記錄被移除后,原來(lái)的第二條記錄的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索引號(hào)進(jìn)行添加的簡(jiǎn)單寫法
//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);
}
}
復(fù)制代碼 代碼如下:
<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>
后臺(tái)代碼:
復(fù)制代碼 代碼如下:
protected void btnAdd_Click(object sender, EventArgs e)
{
#region listbox添加記錄的一種錯(cuò)誤理解
//選擇多條記錄的時(shí)候,會(huì)有一條沒(méi)有被添加,這是因?yàn)楫?dāng)一條記錄被移除后,原來(lái)的第二條記錄的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索引號(hào)進(jìn)行添加的簡(jiǎn)單寫法
//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);
}
}
您可能感興趣的文章:
- C#入門教程之ListBox控件使用方法
- ASP.NET jQuery 實(shí)例17 通過(guò)使用jQuery validation插件校驗(yàn)ListBox
- asp.net中ListBox 綁定多個(gè)選項(xiàng)為選中及刪除實(shí)現(xiàn)方法
- 給ListBox添加雙擊事件示例代碼
- ListBox實(shí)現(xiàn)上移,下移,左移,右移的簡(jiǎn)單實(shí)例
- asp.net listbox實(shí)現(xiàn)單選全選取消
- .net中實(shí)現(xiàn)listBox左右移動(dòng)
- C#保存listbox中數(shù)據(jù)到文本文件的方法
- C#讀取文本文件到listbox組件的方法
- C#實(shí)現(xiàn)讓ListBox適應(yīng)最大Item寬度的方法
- ASP.NET中DropDownList和ListBox實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)功能
- ASP.NET中 ListBox列表框控件的使用方法
相關(guān)文章
關(guān)于Asp.net頁(yè)面Page_Load被執(zhí)行兩次的問(wèn)題分享
這篇文章介紹了關(guān)于Asp.net頁(yè)面Page_Load被執(zhí)行兩次的問(wèn)題,有需要的朋友可以參考一下2013-09-09
Asp.net core中RedisMQ的簡(jiǎn)單應(yīng)用實(shí)現(xiàn)
這篇文章主要介紹了Asp.net core中RedisMQ的簡(jiǎn)單應(yīng)用實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
詳解ASP.NET 生成二維碼實(shí)例(采用ThoughtWorks.QRCode和QrCode.Net兩種方式)
本篇文章主要介紹了ASP.NET 生成二維碼實(shí)例,使用了兩種方法,包括ThoughtWorks.QRCode和QrCode.Net,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12
ASP.NET MVC5網(wǎng)站開發(fā)修改及刪除文章(十)
這篇文章主要為大家詳細(xì)介紹了ASP.NET MVC5網(wǎng)站開發(fā)修改及刪除文章,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-09-09
asp.net下 jquery jason 高效傳輸數(shù)據(jù)
jquery jason 高效傳輸數(shù)據(jù)轉(zhuǎn)自網(wǎng)上稍有修改2009-03-03

