ListItemCollection Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Liste denetimindeki nesne koleksiyonu ListItem . Bu sınıf devralınamaz.
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
- Devralma
-
ListItemCollection
- Uygulamalar
Örnekler
Aşağıdaki kod örneğinde nesne oluşturma ListItemCollection , koleksiyonlara öğe ekleme ve koleksiyonlardan öğe kaldırma işlemleri gösterilmektedir. Örnekte adlandırılmışlistBoxData, ListItemCollection adlı ListBox1denetimin ListBox veri kaynağı olarak kullanılır ve ListItemCollection adlı ddBoxData adlı denetim DropDownList1için DropDownList veri kaynağı olarak kullanılır.
<%@ 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>
Açıklamalar
ListItemCollection sınıfı bir nesne koleksiyonunu ListItem temsil eder. Nesneler ListItem de liste denetimlerinde görüntülenen öğeleri (örneğin, ) temsil eder ListBox. Liste denetiminden program aracılığıyla nesneleri almak ListItem için aşağıdaki yöntemlerden birini kullanın:
Dizi gösterimini kullanarak koleksiyondan tek ListItem bir tane almak için dizin oluşturucuyu kullanın.
Koleksiyonun CopyTo içeriğini bir System.Array nesneye kopyalamak için yöntemini kullanın. Bu, koleksiyondaki öğeleri almak için kullanılabilir.
GetEnumerator Yöntemini kullanarak uygulanan bir System.Collections.IEnumerator nesne oluşturun. Bu nesne daha sonra koleksiyondan öğe almak için kullanılabilir.
Koleksiyonda yineleme yapmak için (C#) veya
For Each(Visual Basic) kullanınforeach.
Count özelliği koleksiyondaki öğelerin toplam sayısını belirtir ve genellikle koleksiyonun üst sınırlarını belirlemek için kullanılır. ve Remove yöntemlerini kullanarak Add koleksiyona öğe ekleyip kaldırabilirsiniz.
Oluşturucular
| Name | Description |
|---|---|
| ListItemCollection() |
ListItemCollection sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| Capacity |
Depolayabileceğiniz en fazla öğe ListItemCollection sayısını alır veya ayarlar. |
| Count |
Koleksiyondaki nesne sayısını ListItem alır. |
| IsReadOnly |
öğesinin salt okunur olup olmadığını ListItemCollection belirten bir değer alır. |
| IsSynchronized |
'a ListItemCollection erişimin eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli). |
| Item[Int32] |
Koleksiyonda belirtilen dizinde alır ListItem . |
| SyncRoot |
erişimi ListItemCollectioneşitlemek için kullanılabilecek nesneyi alır. |
Yöntemler
| Name | Description |
|---|---|
| Add(ListItem) |
Belirtilen ListItem öğesini koleksiyonun sonuna ekler. |
| Add(String) |
Belirtilen dizeyi temsil eden koleksiyonun sonuna bir ListItem ekler. |
| AddRange(ListItem[]) |
Bir nesne dizisindeki ListItem öğeleri koleksiyona ekler. |
| Clear() |
Koleksiyondaki tüm ListItem nesneleri kaldırır. |
| Contains(ListItem) |
Koleksiyonun belirtilen öğeyi içerip içermediğini belirler. |
| CopyTo(Array, Int32) |
öğesindeki ListItemCollection öğeleri belirtilen Arraydizinden başlayarak belirtilen öğesine kopyalar. |
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| FindByText(String) |
Belirtilen metne eşit bir Text özelliğe sahip olan bir ListItem için koleksiyonu arar. |
| FindByValue(String) |
Belirtilen değeri içeren bir Value özelliği ile koleksiyonunda ListItem arar. |
| GetEnumerator() |
içindeki ListItemCollectiontüm ListItem nesneleri içeren uygulanan bir IEnumerator nesne döndürür. |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| IndexOf(ListItem) |
Koleksiyonda belirtilen ListItem konumunu temsil eden dizin değerini belirler. |
| Insert(Int32, ListItem) |
Belirtilen ListItem dizin konumuna koleksiyonda belirtilen öğesini ekler. |
| Insert(Int32, String) |
Belirtilen dizin konumundaki koleksiyonda belirtilen dizeyi temsil eden bir ListItem ekler. |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| Remove(ListItem) |
Belirtilen ListItem öğesini koleksiyondan kaldırır. |
| Remove(String) |
ListItem Belirtilen dize tarafından temsil edilen öğesini koleksiyondan kaldırır. |
| RemoveAt(Int32) |
ListItem Belirtilen dizindeki öğesini koleksiyondan kaldırır. |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| IList.Add(Object) |
Bu üyenin açıklaması için bkz Add(Object). . |
| IList.Contains(Object) |
Bu üyenin açıklaması için bkz Contains(Object). . |
| IList.IndexOf(Object) |
Bu üyenin açıklaması için bkz IndexOf(Object). . |
| IList.Insert(Int32, Object) |
Bu üyenin açıklaması için bkz Insert(Int32, Object). . |
| IList.IsFixedSize |
Bu üyenin açıklaması için bkz IsFixedSize. . |
| IList.Item[Int32] |
Bu üyenin açıklaması için bkz Item[Int32]. . |
| IList.Remove(Object) |
Bu üyenin açıklaması için bkz Remove(Object). . |
| IStateManager.IsTrackingViewState |
Bu üyenin açıklaması için bkz IsTrackingViewState. . |
| IStateManager.LoadViewState(Object) |
Daha önce kaydedilen durumu yükler. |
| IStateManager.SaveViewState() |
Durum değişikliklerini içeren nesneyi döndürür. |
| IStateManager.TrackViewState() |
Değişikliklerin durumunu izlemeye başlar. |
Uzantı Metotları
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Sorgunun paralelleştirilmesini etkinleştirir. |
| AsQueryable(IEnumerable) |
bir IEnumerable öğesine IQueryabledönüştürür. |
| Cast<TResult>(IEnumerable) |
öğesinin IEnumerable öğelerini belirtilen türe yazar. |
| OfType<TResult>(IEnumerable) |
Belirtilen türe göre bir IEnumerable öğesinin öğelerini filtreler. |