DataList.Items Właściwość

Definicja

Pobiera kolekcję DataListItem obiektów reprezentujących poszczególne elementy w kontrolce.

public:
 virtual property System::Web::UI::WebControls::DataListItemCollection ^ Items { System::Web::UI::WebControls::DataListItemCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual System.Web.UI.WebControls.DataListItemCollection Items { get; }
[<System.ComponentModel.Browsable(false)>]
member this.Items : System.Web.UI.WebControls.DataListItemCollection
Public Overridable ReadOnly Property Items As DataListItemCollection

Wartość właściwości

Obiekt DataListItemCollection zawierający kolekcję obiektów reprezentujących DataListItem poszczególne elementy w kontrolce DataList .

Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak używać Items kolekcji do wyświetlania elementów w kontrolce DataList .

Uwaga

Poniższy przykładowy kod używa modelu kodu z jednym plikiem i może nie działać poprawnie, jeśli został skopiowany bezpośrednio do pliku za pomocą kodu. Ten przykładowy kod musi zostać skopiowany do pustego pliku tekstowego z rozszerzeniem aspx. Aby uzyskać więcej informacji na temat modelu kodu Web Forms, zobacz ASP.NET Web Forms Page Code Model (Model kodu strony ASP.NET Web Forms).

<%@ 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)
      { 
         if (DataList1.Items.Count > 0)
         {
            Label1.Text = "The Items collection contains: <br />";

            foreach(DataListItem item in DataList1.Items)
            {
        
               Label1.Text += ((DataBoundLiteralControl)item.Controls[0]).Text +
                              "<br />";
            }
         }
      } 
 
   </script>
 
<head runat="server">
    <title>DataList Items Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList Items 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 Contents of Items Collection"
           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)
        If DataList1.Items.Count > 0 Then
            Label1.Text = "The Items collection contains: <br />"
            
            Dim item As DataListItem
            For Each item In  DataList1.Items
                
                Label1.Text += CType(item.Controls(0), DataBoundLiteralControl).Text & "<br />"
            Next item
        End If
    End Sub 'Button_Click
   </script>
 
<head runat="server">
    <title>DataList Items Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList Items 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 Contents of Items Collection"
           OnClick="Button_Click"
           runat="server"/>
 
      <br /><br />

      <asp:Label id="Label1"
           runat="server"/>
 
   </form>
 
</body>
</html>

Uwagi

Użyj kolekcji Items , aby programowo kontrolować elementy w kontrolce DataList . Kolekcja Items nie udostępnia żadnych metod dodawania ani usuwania elementów do kolekcji. Można jednak kontrolować zawartość elementu, udostępniając procedurę obsługi dla zdarzenia ItemCreated .

Uwaga

W kolekcji Items znajdują się tylko elementy powiązane ze źródłem danych. Nagłówek, stopka i separator nie są uwzględniane w kolekcji.

Dotyczy

Zobacz też