DataListItem.ItemIndex Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает индекс объекта DataListItem из коллекции Items элемента управления.
public:
virtual property int ItemIndex { int get(); };
public virtual int ItemIndex { get; }
member this.ItemIndex : int
Public Overridable ReadOnly Property ItemIndex As Integer
Значение свойства
Индекс объекта DataListItem из коллекции Items.
Примеры
В следующем примере показано, как использовать ItemIndex свойство для отображения номера DataListItem индекса объекта из Items коллекции элемента управления .
Примечание
В следующем примере кода используется однофайловая модель кода, и при копировании непосредственно в файл кода программной части может работать неправильно. Этот пример кода необходимо скопировать в пустой текстовый файл с расширением .aspx. Дополнительные сведения о модели кода веб-форм см. в разделе модель кода веб-форм ASP.NET.
<%@ 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language = "C#" runat="server">
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
for (int i = 0; i < 10; i++)
{
dr = dt.NewRow();
dr[0] = "Item " + i.ToString();
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
DataList1.DataSource = CreateDataSource();
DataList1.DataBind();
}
}
void Button_Click(Object sender, EventArgs e)
{
Label1.Text = "The ItemIndex of each item in the DataList are: <br />";
foreach (DataListItem item in DataList1.Items)
{
Label1.Text += "<br />" + item.ItemIndex.ToString() + " - " +
((DataBoundLiteralControl)item.Controls[1]).Text;
}
}
</script>
<head runat="server">
<title>DataListItem ItemIndex Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataListItem ItemIndex Example</h3>
<asp:DataList id="DataList1" runat="server"
BorderColor="black"
CellPadding="3"
Font-Names="Verdana"
Font-Size="8pt">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>
<HeaderTemplate>
Items
</HeaderTemplate>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
</ItemTemplate>
</asp:DataList>
<br /><br />
<asp:Button id="Button1"
Text="Display ItemIndex for Items in the DataList"
OnClick="Button_Click"
runat="server"/>
<br /><br />
<asp:Label id="Label1"
runat="server"/>
</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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language = "VB" runat="server">
Function CreateDataSource() As ICollection
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
Dim i As Integer
For i = 0 To 9
dr = dt.NewRow()
dr(0) = "Item " & i.ToString()
dt.Rows.Add(dr)
Next i
Dim dv As New DataView(dt)
Return dv
End Function 'CreateDataSource
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
DataList1.DataSource = CreateDataSource()
DataList1.DataBind()
End If
End Sub 'Page_Load
Sub Button_Click(sender As Object, e As EventArgs)
Label1.Text = "The ItemIndex of each item in the DataList are: <br />"
Dim item As DataListItem
For Each item In DataList1.Items
Label1.Text &= "<br />" & item.ItemIndex.ToString() & " - " & CType(item.Controls(1), DataBoundLiteralControl).Text
Next item
End Sub 'Button_Click
</script>
<head runat="server">
<title>DataListItem ItemIndex Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataListItem ItemIndex Example</h3>
<asp:DataList id="DataList1" runat="server"
BorderColor="black"
CellPadding="3"
Font-Names="Verdana"
Font-Size="8pt">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>
<HeaderTemplate>
Items
</HeaderTemplate>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
</ItemTemplate>
</asp:DataList>
<br /><br />
<asp:Button id="Button1"
Text="Display ItemIndex for Items in the DataList"
OnClick="Button_Click"
runat="server"/>
<br /><br />
<asp:Label id="Label1"
runat="server"/>
</form>
</body>
</html>
Комментарии
Используйте свойство , ItemIndex чтобы определить номер DataListItem индекса объекта из Items коллекции.
Примечание
Это свойство применяется только к элементам данных в элементе DataList управления . Свойству ItemTypeDataListItem объекта должно быть присвоено значение ListItemType.Item
, ListItemType.AlternatingItem
, ListItemType.SelectedItem
или ListItemType.EditItem
.