ListItemCollection Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Kumpulan ListItem objek dalam kontrol daftar. Kelas ini tidak dapat diwariskan.
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
- Warisan
-
ListItemCollection
- Penerapan
Contoh
Contoh kode berikut menunjukkan pembuatan ListItemCollection objek, menambahkan item ke koleksi, dan menghapus item dari koleksi. Dalam contoh, bernama ListItemCollectionlistBoxData digunakan sebagai sumber data untuk kontrol yang ListBox disebut ListBox1, dan yang ListItemCollection disebut ddBoxData digunakan sebagai sumber data untuk kontrol yang DropDownList disebut 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>
Keterangan
Kelas ListItemCollection mewakili kumpulan ListItem objek. Objek ListItem , pada gilirannya, mewakili item yang ditampilkan dalam kontrol daftar, seperti ListBox. Untuk mengambil ListItem objek secara terprogram dari kontrol daftar, gunakan salah satu metode berikut:
Gunakan pengindeks untuk mendapatkan satu ListItem dari koleksi, menggunakan notasi array.
CopyTo Gunakan metode untuk menyalin konten koleksi ke System.Array objek, yang kemudian dapat digunakan untuk mendapatkan item dari koleksi.
GetEnumerator Gunakan metode untuk membuat System.Collections.IEnumerator objek yang diimplementasikan, yang kemudian dapat digunakan untuk mendapatkan item dari koleksi.
Gunakan
foreach(C#) atauFor Each(Visual Basic) untuk melakukan iterasi melalui koleksi.
Properti Count menentukan jumlah total item dalam koleksi, dan umumnya digunakan untuk menentukan batas atas koleksi. Anda dapat menambahkan dan menghapus item dari koleksi dengan menggunakan Add metode dan Remove .
Konstruktor
| Nama | Deskripsi |
|---|---|
| ListItemCollection() |
Menginisialisasi instans baru dari kelas ListItemCollection. |
Properti
| Nama | Deskripsi |
|---|---|
| Capacity |
Mendapatkan atau mengatur jumlah maksimum item yang ListItemCollection dapat disimpan. |
| Count |
Mendapatkan jumlah ListItem objek dalam koleksi. |
| IsReadOnly |
Mendapatkan nilai yang menunjukkan apakah ListItemCollection bersifat baca-saja. |
| IsSynchronized |
Mendapatkan nilai yang menunjukkan apakah akses ke disinkronkan ListItemCollection (utas aman). |
| Item[Int32] |
ListItem Mendapatkan pada indeks yang ditentukan dalam koleksi. |
| SyncRoot |
Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke ListItemCollection. |
Metode
| Nama | Deskripsi |
|---|---|
| Add(ListItem) |
Menambahkan yang ditentukan ListItem ke akhir koleksi. |
| Add(String) |
ListItem Menambahkan ke akhir koleksi yang mewakili string yang ditentukan. |
| AddRange(ListItem[]) |
Menambahkan item dalam array ListItem objek ke koleksi. |
| Clear() |
Menghapus semua ListItem objek dari koleksi. |
| Contains(ListItem) |
Menentukan apakah koleksi berisi item yang ditentukan. |
| CopyTo(Array, Int32) |
Menyalin item dari ke ListItemCollection yang ditentukan Array, dimulai dengan indeks yang ditentukan. |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| FindByText(String) |
Mencari koleksi dengan ListItem properti yang sama dengan Text teks yang ditentukan. |
| FindByValue(String) |
Mencari koleksi dengan ListItemValue properti yang berisi nilai yang ditentukan. |
| GetEnumerator() |
Mengembalikan objek yang IEnumerator diimplementasikan yang berisi semua ListItem objek dalam ListItemCollection. |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| IndexOf(ListItem) |
Menentukan nilai indeks yang mewakili posisi yang ditentukan ListItem dalam koleksi. |
| Insert(Int32, ListItem) |
Menyisipkan yang ditentukan ListItem dalam koleksi pada lokasi indeks yang ditentukan. |
| Insert(Int32, String) |
Menyisipkan yang ListItem mewakili string yang ditentukan dalam koleksi di lokasi indeks yang ditentukan. |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| Remove(ListItem) |
Menghapus yang ditentukan ListItem dari koleksi. |
| Remove(String) |
ListItem Menghapus yang diwakili oleh string yang ditentukan dari koleksi. |
| RemoveAt(Int32) |
Menghapus pada ListItem indeks yang ditentukan dari koleksi. |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IList.Add(Object) |
Untuk deskripsi anggota ini, lihat Add(Object). |
| IList.Contains(Object) |
Untuk deskripsi anggota ini, lihat Contains(Object). |
| IList.IndexOf(Object) |
Untuk deskripsi anggota ini, lihat IndexOf(Object). |
| IList.Insert(Int32, Object) |
Untuk deskripsi anggota ini, lihat Insert(Int32, Object). |
| IList.IsFixedSize |
Untuk deskripsi anggota ini, lihat IsFixedSize. |
| IList.Item[Int32] |
Untuk deskripsi anggota ini, lihat Item[Int32]. |
| IList.Remove(Object) |
Untuk deskripsi anggota ini, lihat Remove(Object). |
| IStateManager.IsTrackingViewState |
Untuk deskripsi anggota ini, lihat IsTrackingViewState. |
| IStateManager.LoadViewState(Object) |
Memuat status yang disimpan sebelumnya. |
| IStateManager.SaveViewState() |
Mengembalikan objek yang berisi perubahan status. |
| IStateManager.TrackViewState() |
Mulai melacak status perubahan. |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
| AsQueryable(IEnumerable) |
Mengonversi IEnumerable menjadi IQueryable. |
| Cast<TResult>(IEnumerable) |
Melemparkan elemen IEnumerable ke jenis yang ditentukan. |
| OfType<TResult>(IEnumerable) |
Memfilter elemen IEnumerable berdasarkan jenis tertentu. |