ListItemCollection Třída

Definice

Kolekce ListItem objektů v ovládacím prvku seznam.A collection of ListItem objects in a list control. Tuto třídu nelze zdědit.This class cannot be inherited.

public ref class ListItemCollection sealed : System::Collections::IList, System::Web::UI::IStateManager
public sealed class ListItemCollection : System.Collections.IList, System.Web.UI.IStateManager
type ListItemCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
    interface IStateManager
type ListItemCollection = class
    interface ICollection
    interface IEnumerable
    interface IList
    interface IStateManager
Public NotInheritable Class ListItemCollection
Implements IList, IStateManager
Dědičnost
ListItemCollection
Implementuje

Příklady

Následující příklad kódu ukazuje vytváření ListItemCollection objektů, přidávání položek do kolekcí a odebírání položek z kolekcí.The following code example demonstrates creating ListItemCollection objects, adding items to the collections, and removing items from the collections. V příkladu se ListItemCollection listBoxData jako zdroj dat pro ListBox ovládací prvek používá název, který ListBox1 ListItemCollection ddBoxData je použit jako zdroj dat pro DropDownList ovládací prvek s názvem DropDownList1 .In the example, the ListItemCollection named listBoxData is used as the data source for a ListBox control called ListBox1, and the ListItemCollection called ddBoxData is used as the data source for a DropDownList control called DropDownList1.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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)
        {
// <Snippet5>
            // 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();
//</Snippet5>

            // 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)
    {
//<Snippet6>
        //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);
//</Snippet6>
    }

    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>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>ASP.NET Example</title>
</head>

    <body>
        <form id="form1" 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>
<%@ Page language="VB" AutoEventWireup="true" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Private Sub Page_Load(sender As Object, e As System.EventArgs) Handles MyBase.Load
        ' If this isn't the first time the page is loaded in this session,
        ' then don't recreate the DataTables.
        If Not IsPostBack Then
' <Snippet5>
            ' Create a new ListItemCollection.
            Dim listBoxData As 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()
' </Snippet5>
 
            ' Create a new ListItemCollection.
            Dim ddBoxData As New ListItemCollection()
            ' For now, just bind the data to the DropDownList.
            DropDownList1.DataSource = ddBoxData
            DropDownList1.DataBind()
        End If
    End Sub 'Page_Load

    Private Sub moveButton1_Click(sender As Object, e As System.EventArgs) 
        '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
' <Snippet6>
        ' Add the selected item to DropDownList1.
        DropDownList1.Items.Add(ListBox1.SelectedItem)
        ' Delete the selected item from ListBox1.
        ListBox1.Items.Remove(ListBox1.SelectedItem)
' </Snippet6>
    End Sub 'moveButton1_Click
   
   
    Private Sub moveButton2_Click(sender As Object, e As System.EventArgs)
        '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)
    End Sub 'moveButton2_Click
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>ASP.NET Example</title>
</head>

    <body>
        <form id="form1" 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. -->

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

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="C#" runat="server">
            // Global Variables.
            private DataView dv;
            private DataTable dt = new DataTable();

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

                // 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)
            {
// <Snippet5>
                // 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);
// </Snippet5>

                            // Rebind the data to DataGrid1.
                            dv = new DataView(dt);
                            DataGrid1.DataSource = dv;
                            DataGrid1.DataBind();
                        }
                    }
                }
            }
        </script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title> ListItemCollection Example </title>
</head>
    
    <body>
        <form id="form1" 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>
<%@ Page language="VB" AutoEventWireup="true"%>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
            ' Global Variables.
            Private dv As DataView
            Private dt As New DataTable()

            Private Sub Page_Load(sender As Object, e As System.EventArgs)
' <Snippet4>
                ' Set the number of rows displayed in the ListBox to be
                ' the number of items in the ListBoxCollection.
                ListBox1.Rows = ListBox1.Items.Count
' </Snippet4>

                ' If the DataTable is already stored in the Web form's default
                ' HttpSessionState variable, then don't recreate the DataTable.
                If Session("data") Is Nothing Then
                    ' 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()
                End If
            End Sub

            Private Sub addButton_Click(sender As Object, e As System.EventArgs)
' <Snippet5>
                ' Add the items selected in ListBox1 to DataGrid1.
                Dim item As ListItem
                For Each item In ListBox1.Items
                    If item.Selected Then
                        ' Add the item to the DataGrid.
                        ' First, get the DataTable from the Session variable.
                        dt = CType(Session("data"), DataTable)
            
                        If  Not (dt Is Nothing) Then
                            ' Create a new DataRow in the DataTable.
                            Dim dr As 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)
' </Snippet5>

                            ' Rebind the data to DataGrid1.
                            dv = new DataView(dt)
                            DataGrid1.DataSource = dv
                            DataGrid1.DataBind()
                        End If
                    End If
                Next item
            End Sub
        </script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title> ListItemCollection Example </title>
</head>
    
    <body>
        <form id="form1" 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>

Poznámky

ListItemCollectionTřída představuje kolekci ListItem objektů.The ListItemCollection class represents a collection of ListItem objects. ListItemObjekty, zase, reprezentují položky zobrazené v ovládacích prvcích seznamu, jako je například ListBox .The ListItem objects, in turn, represent the items displayed in list controls, such as the ListBox. Chcete-li programově načíst ListItem objekty z ovládacího prvku seznamu, použijte jednu z následujících metod:To programmatically retrieve ListItem objects from a list control, use one of following methods:

  • Pomocí indexeru můžete z kolekce získat jednu ListItem z nich pomocí notace Array.Use the indexer to get a single ListItem from the collection, using array notation.

  • Použijte CopyTo metodu ke zkopírování obsahu kolekce do System.Array objektu, který lze poté použít k získání položek z kolekce.Use the CopyTo method to copy the contents of the collection to a System.Array object, which can then be used to get items from the collection.

  • Použijte GetEnumerator metodu k vytvoření System.Collections.IEnumerator implementovaného objektu, který lze poté použít k získání položek z kolekce.Use the GetEnumerator method to create a System.Collections.IEnumerator implemented object, which can then be used to get items from the collection.

  • Použijte foreach (C#) nebo For Each (Visual Basic) k iterování kolekce.Use foreach (C#) or For Each (Visual Basic) to iterate through the collection.

CountVlastnost určuje celkový počet položek v kolekci a obvykle se používá k určení horní meze kolekce.The Count property specifies the total number of items in the collection, and is commonly used to determine the upper bound of the collection. Můžete přidat a odebrat položky z kolekce pomocí Add Remove metod a.You can add and remove items from the collection by using the Add and Remove methods.

Konstruktory

ListItemCollection()

Inicializuje novou instanci ListItemCollection třídy.Initializes a new instance of the ListItemCollection class.

Vlastnosti

Capacity

Získá nebo nastaví maximální počet položek, které ListItemCollection může uložit.Gets or sets the maximum number of items that the ListItemCollection can store.

Count

Získá počet ListItem objektů v kolekci.Gets the number of ListItem objects in the collection.

IsReadOnly

Získá hodnotu, která určuje, zda je ListItemCollection určena jen pro čtení.Gets a value indicating whether the ListItemCollection is read-only.

IsSynchronized

Načte hodnotu, která označuje, jestli je přístup ke službě ListItemCollection Synchronizovaný (bezpečný pro přístup z více vláken).Gets a value indicating whether access to the ListItemCollection is synchronized (thread-safe).

Item[Int32]

Získá v ListItem zadaném indexu v kolekci.Gets a ListItem at the specified index in the collection.

SyncRoot

Získá objekt, který lze použít k synchronizaci přístupu k ListItemCollection .Gets the object that can be used to synchronize access to the ListItemCollection.

Metody

Add(ListItem)

Připojí zadaný ListItem na konec kolekce.Appends the specified ListItem to the end of the collection.

Add(String)

Připojí ListItem ke konci kolekce, která představuje zadaný řetězec.Appends a ListItem to the end of the collection that represents the specified string.

AddRange(ListItem[])

Přidá položky v poli ListItem objektů do kolekce.Adds the items in an array of ListItem objects to the collection.

Clear()

Odebere všechny ListItem objekty z kolekce.Removes all ListItem objects from the collection.

Contains(ListItem)

Určuje, zda kolekce obsahuje zadanou položku.Determines whether the collection contains the specified item.

CopyTo(Array, Int32)

Zkopíruje položky ze ListItemCollection zadaného Array , počínaje zadaným indexem.Copies the items from the ListItemCollection to the specified Array, starting with the specified index.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
FindByText(String)

Vyhledá v kolekci ListItem Text vlastnost s vlastností, která se rovná zadanému textu.Searches the collection for a ListItem with a Text property that equals the specified text.

FindByValue(String)

Vyhledá v kolekci ListItem Value vlastnost, která obsahuje zadanou hodnotu.Searches the collection for a ListItem with a Value property that contains the specified value.

GetEnumerator()

Vrátí IEnumerator implementovaný objekt, který obsahuje všechny ListItem objekty v ListItemCollection .Returns a IEnumerator implemented object that contains all ListItem objects in the ListItemCollection.

GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
IndexOf(ListItem)

Určuje hodnotu indexu, která představuje pozici určenou ListItem v kolekci.Determines the index value that represents the position of the specified ListItem in the collection.

Insert(Int32, ListItem)

Vloží zadaný ListItem v kolekci v zadaném umístění indexu.Inserts the specified ListItem in the collection at the specified index location.

Insert(Int32, String)

Vloží, ListItem který představuje zadaný řetězec v kolekci v zadaném umístění indexu.Inserts a ListItem which represents the specified string in the collection at the specified index location.

MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
Remove(ListItem)

Odstraní zadaný ListItem z kolekce.Removes the specified ListItem from the collection.

Remove(String)

Odebere ListItem , který je reprezentován zadaným řetězcem z kolekce.Removes the ListItem that's represented by the specified string from the collection.

RemoveAt(Int32)

Odebere ListItem z kolekce v zadaném indexu.Removes the ListItem at the specified index from the collection.

ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Explicitní implementace rozhraní

IList.Add(Object)

Popis tohoto člena naleznete v tématu Add(Object) .For a description of this member, see Add(Object).

IList.Contains(Object)

Popis tohoto člena naleznete v tématu Contains(Object) .For a description of this member, see Contains(Object).

IList.IndexOf(Object)

Popis tohoto člena naleznete v tématu IndexOf(Object) .For a description of this member, see IndexOf(Object).

IList.Insert(Int32, Object)

Popis tohoto člena naleznete v tématu Insert(Int32, Object) .For a description of this member, see Insert(Int32, Object).

IList.IsFixedSize

Popis tohoto člena naleznete v tématu IsFixedSize .For a description of this member, see IsFixedSize.

IList.Item[Int32]

Popis tohoto člena naleznete v tématu Item[Int32] .For a description of this member, see Item[Int32].

IList.Remove(Object)

Popis tohoto člena naleznete v tématu Remove(Object) .For a description of this member, see Remove(Object).

IStateManager.IsTrackingViewState

Popis tohoto člena naleznete v tématu IsTrackingViewState .For a description of this member, see IsTrackingViewState.

IStateManager.LoadViewState(Object)

Načte dříve uložený stav.Loads the previously saved state.

IStateManager.SaveViewState()

Vrátí objekt obsahující změny stavu.Returns object containing state changes.

IStateManager.TrackViewState()

Spustí sledování stavu změn.Starts tracking state of changes.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypování prvky IEnumerable na zadaný typ.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Povoluje paralelní zpracování dotazu.Enables parallelization of a query.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable .Converts an IEnumerable to an IQueryable.

Platí pro

Viz také