

Navigator : Home > Tutorials > Controls Tutorials > ...
Working with List box in ASP.NET 2.0 and C#
The ListBox control enables you to display a list of items to the user that the user can select by clicking. A ListBox control can provide single or multiple selections using the SelectionMode property. This tutorial show you how to choose multi items and move them to the other Listbox.
The ListBox control enables you to display a list of items to the user that the user can select by clicking. A ListBox control can provide single or multiple selections using the SelectionMode property. The ListBox also provides the MultiColumn property to enable the display of items in columns instead of a straight vertical list of items. This allows the control to display more visible items and prevents the need for the user to scroll to an item. This tutorial show you how to move items of ListBox from one to the other.
First, you will need to import the using System.Collections namespace. The System.Collections namespace contains interfaces and classes that define various collections of objects, such as lists, queues, bit arrays, hash tables and dictionaries.
Need help with Windows Dedicated Hosting? Try Server Intellect. I'm a happy customer!
| using System.Collections; |
We transfer items of ListBox from one ListBox to another by following four buttons.
public void AddBtn_Click(Object Src, EventArgs E) {
if (lstAsset.SelectedIndex>=0) {
for (int i = 0; i < lstAsset.Items.Count; i++) {
if (lstAsset.Items[i].Selected) {
if (!lasset.Contains(lstAsset.Items[i])) {
lasset.Add(lstAsset.Items[i]); } } } for (int i = 0; i < lasset.Count; i++) {
if (!lstSubordinateAsset.Items.Contains(((ListItem)lasset[i]))) {
lstSubordinateAsset.Items.Add(((ListItem)lasset[i])); } lstAsset.Items.Remove(((ListItem)lasset[i])); } } }
public void AddAllBtn_Click(Object Src, EventArgs E) {
while (lstAsset.Items.Count != 0) {
for (int i = 0; i < lstAsset.Items.Count; i++) {
if (!lasset.Contains(lstAsset.Items[i])) {
lasset.Add(lstAsset.Items[i]); } } for (int i = 0; i < lasset.Count; i++) {
if (!lstSubordinateAsset.Items.Contains(((ListItem)lasset[i]))) {
lstSubordinateAsset.Items.Add(((ListItem)lasset[i])); } lstAsset.Items.Remove(((ListItem)lasset[i])); } } }
public void RemoveBtn_Click(Object Src, EventArgs E) {
if (lstSubordinateAsset.SelectedItem != null) {
for (int i = 0; i < lstSubordinateAsset.Items.Count; i++) {
if (lstSubordinateAsset.Items[i].Selected) {
if (!lsubordinate.Contains(lstSubordinateAsset.Items[i])) {
lsubordinate.Add(lstSubordinateAsset.Items[i]); } } } for (int i = 0; i < lsubordinate.Count; i++) {
if (!lstAsset.Items.Contains(((ListItem)lsubordinate[i]))) {
lstAsset.Items.Add(((ListItem)lsubordinate[i])); } lstSubordinateAsset.Items.Remove(((ListItem)lsubordinate[i])); UpdateList.Add(lsubordinate[i]); } } }
public void RemoveAllBtn_Click(Object Src, EventArgs E) {
while (lstSubordinateAsset.Items.Count != 0) {
for (int i = 0; i < lstSubordinateAsset.Items.Count; i++) {
if (!lsubordinate.Contains(lstSubordinateAsset.Items[i])) {
lsubordinate.Add(lstSubordinateAsset.Items[i]); } } for (int i = 0; i < lsubordinate.Count; i++) {
if (!lstAsset.Items.Contains(((ListItem)lsubordinate[i]))) {
lstAsset.Items.Add(((ListItem)lsubordinate[i])); } lstSubordinateAsset.Items.Remove(((ListItem)lsubordinate[i])); UpdateList.Add(lsubordinate[i]); } } } |
The front end ListboxCsharp2005.aspx page looks something like this:
Server Intellect assists companies of all sizes with their hosting needs by offering fully configured server solutions coupled with proactive server management services. Server Intellect specializes in providing complete internet-ready server solutions backed by their expert 24/365 proactive support team.
<table style="width: 368px" align="center"> <tr> <td style="width: 104px" align="center"> Available Fonts </td> <td style="width: 133px"> <!-- Filler --> </td> <td style="width: 110px"> Installed Fonts </td> </tr> <tr> <td style="width: 104px" align="center"> <asp:listbox id="lstAsset" width="100px" runat=server SelectionMode="Multiple"> <asp:listitem>Roman</asp:listitem> <asp:listitem>Arial Black</asp:listitem> <asp:listitem>Garamond</asp:listitem> <asp:listitem>Somona</asp:listitem> <asp:listitem>Symbol</asp:listitem> </asp:listbox> </td> <td style="width: 133px"> <!-- Filler --> </td> <td style="width: 110px"> <asp:listbox id="lstSubordinateAsset" width="100px" runat=server SelectionMode="Multiple"> <asp:listitem>Times</asp:listitem> <asp:listitem>Helvetica</asp:listitem> <asp:listitem>Arial</asp:listitem> </asp:listbox> </td> </tr> <tr> <td style="width: 104px"> <!-- Filler --> </td> <td style="width: 133px" align="center"> <asp:button ID="Button1" text="<<" OnClick="RemoveAllBtn_Click" runat=server Width="30px"/> <asp:button ID="Button2" text="<" OnClick="RemoveBtn_Click" runat=server Width="26px"/> <asp:button ID="Button3" text=">" OnClick="AddBtn_Click" runat=server Width="29px"/> <asp:button ID="Button4" text=">>" OnClick="AddAllBtn_Click" runat=server Width="33px"/></td> <td style="width: 110px"> <!-- Filler --> </td> </tr> </table> |
The flow for the code behind page is as follows.
using System; using System.Data; using System.Configuration; 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 System.Collections;
public partial class _Default : System.Web.UI.Page {
ArrayList lasset = new ArrayList(); ArrayList lsubordinate = new ArrayList(); static ArrayList UpdateList = new ArrayList(); protected void Page_Load(object sender, EventArgs e) { } public void AddBtn_Click(Object Src, EventArgs E) {
if (lstAsset.SelectedIndex>=0) {
for (int i = 0; i < lstAsset.Items.Count; i++) {
if (lstAsset.Items[i].Selected) {
if (!lasset.Contains(lstAsset.Items[i])) {
lasset.Add(lstAsset.Items[i]); } } } for (int i = 0; i < lasset.Count; i++) {
if (!lstSubordinateAsset.Items.Contains(((ListItem)lasset[i]))) {
lstSubordinateAsset.Items.Add(((ListItem)lasset[i])); } lstAsset.Items.Remove(((ListItem)lasset[i])); } } } public void AddAllBtn_Click(Object Src, EventArgs E) {
while (lstAsset.Items.Count != 0) {
for (int i = 0; i < lstAsset.Items.Count; i++) {
if (!lasset.Contains(lstAsset.Items[i])) {
lasset.Add(lstAsset.Items[i]); } } for (int i = 0; i < lasset.Count; i++) {
if (!lstSubordinateAsset.Items.Contains(((ListItem)lasset[i]))) {
lstSubordinateAsset.Items.Add(((ListItem)lasset[i])); } lstAsset.Items.Remove(((ListItem)lasset[i])); } } } public void RemoveBtn_Click(Object Src, EventArgs E) {
if (lstSubordinateAsset.SelectedItem != null) {
for (int i = 0; i < lstSubordinateAsset.Items.Count; i++) {
if (lstSubordinateAsset.Items[i].Selected) {
if (!lsubordinate.Contains(lstSubordinateAsset.Items[i])) {
lsubordinate.Add(lstSubordinateAsset.Items[i]); } } } for (int i = 0; i < lsubordinate.Count; i++) {
if (!lstAsset.Items.Contains(((ListItem)lsubordinate[i]))) {
lstAsset.Items.Add(((ListItem)lsubordinate[i])); } lstSubordinateAsset.Items.Remove(((ListItem)lsubordinate[i])); UpdateList.Add(lsubordinate[i]); } } } public void RemoveAllBtn_Click(Object Src, EventArgs E) {
while (lstSubordinateAsset.Items.Count != 0) {
for (int i = 0; i < lstSubordinateAsset.Items.Count; i++) {
if (!lsubordinate.Contains(lstSubordinateAsset.Items[i])) {
lsubordinate.Add(lstSubordinateAsset.Items[i]); } } for (int i = 0; i < lsubordinate.Count; i++) {
if (!lstAsset.Items.Contains(((ListItem)lsubordinate[i]))) {
lstAsset.Items.Add(((ListItem)lsubordinate[i])); } lstSubordinateAsset.Items.Remove(((ListItem)lsubordinate[i])); UpdateList.Add(lsubordinate[i]); } } } } |
Looking for the VB.NET2005 Version? Click Here!
Looking for more ASP.NET Tutorials? Click Here!
Server Intellect assists companies of all sizes with their hosting needs by offering fully configured server solutions coupled with proactive server management services. Server Intellect specializes in providing complete internet-ready server solutions backed by their expert 24/365 proactive support team.