Exporter (0) Imprimer
Développer tout

ListItemCollection, classe

Collection d'objets ListItem dans un contrôle de liste. Cette classe ne peut pas être héritée.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public sealed class ListItemCollection : IList, ICollection, IEnumerable, 
	IStateManager
public final class ListItemCollection implements IList, ICollection, 
	IEnumerable, IStateManager
public final class ListItemCollection implements IList, ICollection, 
	IEnumerable, IStateManager

La classe ListItemCollection représente une collection d'objets ListItem. Les objets ListItem, à leur tour, représentent les éléments affichés dans les contrôles de liste, tels que ListBox. Pour récupérer par programme des objets ListItem à partir d'un contrôle de liste, utilisez l'une des méthodes suivantes :

  • Utilisez l'indexeur pour obtenir un seul objet ListItem de la collection, en utilisant une notation de tableau.

  • Utilisez la méthode CopyTo pour copier le contenu de la collection vers un objet System.Array, qui peut ensuite être utilisé pour obtenir des éléments de la collection.

  • Utilisez la méthode GetEnumerator pour créer un objet implémentant System.Collections.IEnumerator, qui peut ensuite être utilisé pour obtenir des éléments de la collection.

  • Utilisez foreach (C#) ou For Each (Visual Basic) pour parcourir la collection.

La propriété Count spécifie le nombre total d'éléments dans la collection et est généralement utilisée pour déterminer la limite supérieure de la collection. Vous pouvez ajouter des éléments dans la collection ou en supprimer à l'aide des méthodes Add et Remove.

L'exemple de code suivant illustre la création d'objets ListItemCollection, l'ajout d'éléments aux collections et la suppression d'éléments des collections. Dans l'exemple, le ListItemCollection nommé listBoxData est utilisé comme source de données pour un contrôle ListBoxListBox1 appelé, et le ListItemCollection appelé ddBoxData est utilisé comme source de données pour un contrôle DropDownListDropDownList1 appelé.

<%@ Page language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Data" %>

<HTML>
    <HEAD>
        <SCRIPT runat="server">
            private void Page_Load(object sender, System.EventArgs e)
            {
                // If this isn't the first time the page is loaded in this session,
                // then don't recreate the DataTables.
                if (!IsPostBack)
                {
                    // Create a new ListItemCollection.
                    ListItemCollection listBoxData = new ListItemCollection();
                    // Add items to the collection.
                    listBoxData.Add(new ListItem("apples"));
                    listBoxData.Add(new ListItem("bananas"));
                    listBoxData.Add(new ListItem("cherries"));
                    listBoxData.Add("grapes");
                    listBoxData.Add("mangos");
                    listBoxData.Add("oranges");
                    // Set the ListItemCollection as the data source for ListBox1.
                    ListBox1.DataSource = listBoxData;
                    ListBox1.DataBind();

                    // Create a new ListItemCollection.
                    ListItemCollection ddBoxData = new ListItemCollection();
                    // For now, just bind the data to the DropDownList.
                    DropDownList1.DataSource = ddBoxData;
                    DropDownList1.DataBind();
                }		
            }

            private void moveButton1_Click(object sender, System.EventArgs e)
            {
                //Set the SelectedIndex to -1 so no items are selected.
                // The new item will be set as the selected item when it is added.
                DropDownList1.SelectedIndex = -1;
                // Add the selected item to DropDownList1.
                DropDownList1.Items.Add(ListBox1.SelectedItem);
                // Delete the selected item from ListBox1.
                ListBox1.Items.Remove(ListBox1.SelectedItem);
            }

            private void moveButton2_Click(object sender, System.EventArgs e)
            {
                //Set the SelectedIndex to -1 so no items are selected.
                // The new item will be set as the selected item when it is added.
                ListBox1.SelectedIndex = -1;
                // Add the selected item to ListBox1.
                ListBox1.Items.Add(DropDownList1.SelectedItem);
                //Delete the selected item from DropDownList1.
                DropDownList1.Items.Remove(DropDownList1.SelectedItem);
            }
        </SCRIPT>
    </HEAD>

    <BODY>
        <form runat="server">
            <table cellpadding="6" border="0">
                <tr>
                    <td rowspan="2" valign="top">
                        <asp:ListBox id="ListBox1" runat="server" 
                            SelectionMode="Single" Width="100px">
                        </asp:ListBox>
                    </td>

                    <td>
                        <asp:Button id="moveButton1" runat="server" Text="Move -->"
                            Width="100px" OnClick="moveButton1_Click"></asp:Button>
                    </td>

                    <td rowspan="2" valign="top">
                        <asp:DropDownList Runat="server" ID="DropDownList1"
                            Width="100px">
                        </asp:DropDownList>
                    </td>
                </tr>

                <tr>
                    <td>
                        <asp:Button ID="moveButton2" Runat="server" Text="<-- Move"
                            Width="100px" onClick="moveButton2_Click"></asp:Button>
                    </td>
                </tr>
            </table>
        </form>
    </BODY>
</HTML>

<!-- This example demonstrates how to select multiple items from a DataList and add the 
selected items to a DataGrid. The example uses a foreach loop to iterate through 
the ListItem objects in the ListItemCollection of ListBox1. -->


<%@ Page language="c#" AutoEventWireup="true"%>
<%@ Import Namespace="System.Data" %>

<HTML>
    <HEAD>
        
        <SCRIPT language="C#" runat="server">
            // Global Variables.
            private DataView dv;
            private DataTable dt = new DataTable();

            private void Page_Load(object sender, System.EventArgs e)
            {
                // Set the number of rows displayed in the ListBox to be
                // the number of items in the ListBoxCollection.
                ListBox1.Rows = ListBox1.Items.Count;

                // If the DataTable is already stored in the Web form's default
                // HttpSessionState variable, then don't recreate the DataTable.
                if (Session["data"] == null)
                {
                    // Add columns to the DataTable.
                    dt.Columns.Add(new DataColumn("Item"));
                    dt.Columns.Add(new DataColumn("Price"));
		
                    // Store the DataTable in the Session variable so it can 
                    // be accessed again later.
                    Session["data"] = dt;
                    
                    // Use the table to create a DataView, because the DataGrid
                    // can only bind to a data source that implements IEnumerable.
                    dv = new DataView(dt);
            
                    // Set the DataView as the data source, and bind it to the DataGrid.
                    DataGrid1.DataSource = dv;
                    DataGrid1.DataBind();
                }
            }

            private void addButton_Click(object sender, System.EventArgs e)
            {
                // Add the items selected in ListBox1 to DataGrid1.
                foreach (ListItem item in ListBox1.Items)
                {
                    if (item.Selected)
                    {
                        // Add the item to the DataGrid.
                        // First, get the DataTable from the Session variable.
                        dt = (DataTable)Session["data"];
			
                        if (dt != null)
                        { 
                            // Create a new DataRow in the DataTable.
                            DataRow dr = dt.NewRow();
                            // Add the item to the new DataRow.
                            dr["Item"] = item.Text;
                            // Add the item's value to the DataRow.
                            dr["Price"] = item.Value;
                            // Add the DataRow to the DataTable.
                            dt.Rows.Add(dr);

                            // Rebind the data to DataGrid1.
                            dv = new DataView(dt);
                            DataGrid1.DataSource = dv;
                            DataGrid1.DataBind();
                        }
                    }
                }
            }
        </SCRIPT>

    </HEAD>
	
    <BODY>
        <form runat="server">

            <h3> ListItemCollection Example </h3>

            <table cellpadding="6" border="0">
                <tr>
                    <td valign="top">
                        <asp:ListBox id="ListBox1" runat="server" SelectionMode="Multiple">
                            <asp:ListItem Value=".89">apples</asp:ListItem>
                            <asp:ListItem Value=".49">bananas</asp:ListItem>
                            <asp:ListItem Value="2.99">cherries</asp:ListItem>
                            <asp:ListItem Value="1.49">grapes</asp:ListItem>
                            <asp:ListItem Value="2.00">mangos</asp:ListItem>
                            <asp:ListItem Value="1.09">oranges</asp:ListItem>
                        </asp:ListBox>
                    </td>

                    <td valign="top">
                        <asp:Button id="addButton" runat="server" Text="Add -->"
                            Width="100px" OnClick="addButton_Click"></asp:Button>
                    </td>

                    <td valign="top">
                        <asp:DataGrid Runat="server" ID="DataGrid1" CellPadding="4">
                        </asp:DataGrid>
                    </td>
                </tr>
            </table>		
        </form>
    </body>
</HTML>

System.Object
  System.Web.UI.WebControls.ListItemCollection

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft