DataList.ItemStyle Właściwość

Definicja

Pobiera właściwości stylu dla elementów w kontrolce DataList .

public:
 virtual property System::Web::UI::WebControls::TableItemStyle ^ ItemStyle { System::Web::UI::WebControls::TableItemStyle ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public virtual System.Web.UI.WebControls.TableItemStyle ItemStyle { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.ItemStyle : System.Web.UI.WebControls.TableItemStyle
Public Overridable ReadOnly Property ItemStyle As TableItemStyle

Wartość właściwości

TableItemStyle

TableItemStyle Obiekt, który zawiera właściwości stylu dla elementów w kontrolceDataList. Wartość domyślna to pusty TableItemStyle obiekt.

Atrybuty

Przykłady

Poniższy przykład kodu pokazuje, jak za pomocą ItemStyle właściwości określić inny kolor tła dla elementów w kontrolce DataList .

Uwaga

Poniższy przykładowy kod używa modelu kodu pojedynczego pliku 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, który ma rozszerzenie aspx. Aby uzyskać więcej informacji na temat modelu kodu Web Forms, zobacz ASP.NET Web Forms Page Code Model (Model kodu strony).


<%@ 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 runat="server">
 
      ICollection CreateDataSource() 
      {
      
         // Create sample data for the DataList control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
         dt.Columns.Add(new DataColumn("ImageValue", typeof(String)));
 
         // Populate the table with sample values.
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Description for item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
            dr[3] = "Image" + i.ToString() + ".jpg";
 
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
  
      void Page_Load(Object sender, EventArgs e) 
      {

         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack) 
         {
            ItemsList.DataSource = CreateDataSource();
            ItemsList.DataBind();
         }

      }

      void Selection_Change(Object sender, EventArgs e)
      {

         // Set the background color for the heading and footer sections
         // of the DataList control.
         ItemsList.ItemStyle.BackColor = 
             System.Drawing.Color.FromName(ItemList.SelectedItem.Value);
         ItemsList.AlternatingItemStyle.BackColor = 
             System.Drawing.Color.FromName(AltItemList.SelectedItem.Value);

      }
 
   </script>
 
<head runat="server">
    <title>DataList ItemStyle and AlternatingItemStyle Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList ItemStyle and AlternatingItemStyle Example</h3>

      Select background colors for the items and alternating items.

      <br /><br />
 
      <asp:DataList id="ItemsList"
           BorderColor="black"
           CellPadding="5"
           CellSpacing="5"
           RepeatDirection="Vertical"
           RepeatLayout="Table"
           RepeatColumns="3"
           ShowFooter="True"
           runat="server">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <ItemStyle BackColor="White">
         </ItemStyle>

         <AlternatingItemStyle BackColor="White">
         </AlternatingItemStyle>

         <HeaderTemplate>

            List of items

         </HeaderTemplate>
               
         <ItemTemplate>

            Description: <br />
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

            <br />

            Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>

            <br />

            <asp:Image id="ProductImage"
                 AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
                 ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
                 runat="server"/>

         </ItemTemplate>

         <AlternatingItemTemplate>

            <asp:Image id="ProductImage"
                 AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
                 ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
                 runat="server"/>

            <br />

            Description: <br />
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

            <br />

            Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>       

         </AlternatingItemTemplate>
 
      </asp:DataList>

      <hr />

      <table cellpadding="5">

         <tr>

            <td>

               Item BackColor:
 
            </td>

            <td>

               Alternating item BackColor:

            </td>

         </tr>

         <tr>

            <td>

               <asp:DropDownList id="ItemList"
                    AutoPostBack="True"
                    OnSelectedIndexChanged="Selection_Change"
                    runat="server">

                  <asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
                  <asp:ListItem Value="Silver"> Silver </asp:ListItem>
                  <asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
                  <asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
                  <asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>

               </asp:DropDownList>
 
            </td>

            <td>

               <asp:DropDownList id="AltItemList"
                    AutoPostBack="True"
                    OnSelectedIndexChanged="Selection_Change"
                    runat="server">

                  <asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
                  <asp:ListItem Value="Silver"> Silver </asp:ListItem>
                  <asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
                  <asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
                  <asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>

               </asp:DropDownList>

            </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">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">
 
      Function CreateDataSource() As ICollection 
      
         ' Create sample data for the DataList control.
         Dim dt As DataTable = New DataTable()
         dim dr As DataRow
 
         ' Define the columns of the table.
         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
         dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
         dt.Columns.Add(New DataColumn("ImageValue", GetType(String)))
 
         ' Populate the table with sample values.
         Dim i As Integer

         For i = 0 To 8 

            dr = dt.NewRow()
 
            dr(0) = i
            dr(1) = "Description for item " & i.ToString()
            dr(2) = 1.23 * (i + 1)
            dr(3) = "Image" & i.ToString() & ".jpg"
 
            dt.Rows.Add(dr)

         Next i
 
         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function
 
      Sub Page_Load(sender As Object, e As EventArgs) 

         ' Load sample data only once, when the page is first loaded.
         If Not IsPostBack Then 
     
            ItemsList.DataSource = CreateDataSource()
            ItemsList.DataBind()
         
         End If

      End Sub

      Sub Selection_Change(sender As Object, e As EventArgs)

         ' Set the background color for the heading and footer sections
         ' of the DataList control.
         ItemsList.ItemStyle.BackColor = _
             System.Drawing.Color.FromName(ItemList.SelectedItem.Value)
         ItemsList.AlternatingItemStyle.BackColor = _
             System.Drawing.Color.FromName(AltItemList.SelectedItem.Value)

      End Sub
 
   </script>
 
<head runat="server">
    <title>DataList ItemStyle and AlternatingItemStyle Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList ItemStyle and AlternatingItemStyle Example</h3>

      Select background colors for the items and alternating items.

      <br /><br />
 
      <asp:DataList id="ItemsList"
           BorderColor="black"
           CellPadding="5"
           CellSpacing="5"
           RepeatDirection="Vertical"
           RepeatLayout="Table"
           RepeatColumns="3"
           ShowFooter="True"
           runat="server">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <ItemStyle BackColor="White">
         </ItemStyle>

         <AlternatingItemStyle BackColor="White">
         </AlternatingItemStyle>

         <HeaderTemplate>

            List of items

         </HeaderTemplate>
               
         <ItemTemplate>

            Description: <br />
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

            <br />

            Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>

            <br />

            <asp:Image id="ProductImage"
                 AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
                 ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
                 runat="server"/>

         </ItemTemplate>
 
      </asp:DataList>

      <hr />

      <table cellpadding="5">

         <tr>

            <td>

               Item BackColor:
 
            </td>

            <td>

               Alternating item BackColor:

            </td>

         </tr>

         <tr>

            <td>

               <asp:DropDownList id="ItemList"
                    AutoPostBack="True"
                    OnSelectedIndexChanged="Selection_Change"
                    runat="server">

                  <asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
                  <asp:ListItem Value="Silver"> Silver </asp:ListItem>
                  <asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
                  <asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
                  <asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>

               </asp:DropDownList>
 
            </td>

            <td>

               <asp:DropDownList id="AltItemList"
                    AutoPostBack="True"
                    OnSelectedIndexChanged="Selection_Change"
                    runat="server">

                  <asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
                  <asp:ListItem Value="Silver"> Silver </asp:ListItem>
                  <asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
                  <asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
                  <asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>

               </asp:DropDownList>

            </td>

         </tr>

      </table>
 
   </form>
 
</body>
</html>

Uwagi

Użyj tej właściwości, aby podać niestandardowy styl dla elementów kontrolki DataList . Typowe atrybuty stylu, które można dostosować, obejmują kolor pierwszego planu, kolor tła, czcionkę i wyrównanie zawartości w komórce. Zapewnienie innego stylu zwiększa wygląd kontrolki DataList .

Właściwości stylu elementu w kontrolce DataList są dziedziczone z jednej właściwości stylu elementu do innej za pośrednictwem hierarchii. Właściwości stylu elementu ustawione w hierarchii są dziedziczone przez właściwości stylu elementu wyższe w hierarchii. Jeśli na przykład określisz czerwoną czcionkę dla ItemStyle właściwości, wszystkie inne właściwości stylu elementu w kontrolce DataList również będą miały czerwoną czcionkę. Dzięki temu można podać typowy wygląd kontrolki, ustawiając właściwość stylu pojedynczego elementu. Można zastąpić dziedziczone ustawienia stylu dla właściwości stylu elementu, która jest wyższa w hierarchii, ustawiając jej właściwości stylu. Można na przykład określić niebieską czcionkę dla AlternatingItemStyle właściwości, przesłaniając czerwoną czcionkę określoną we ItemStyle właściwości. W poniższej tabeli wymieniono kolejność hierarchii od najwyższego do najniższego.

Pierwszeństwo Właściwość stylu
1 EditItemStyle
2 SelectedItemStyle
3 AlternatingItemStyle
4 ItemStyle
5 ControlStyle

Aby określić niestandardowy styl dla elementów DataList kontrolki, umieść <ItemStyle> tagi między znacznikami otwierania i zamykania kontrolki DataList . Następnie można wyświetlić listę atrybutów stylu w tagu otwierającym <ItemStyle> .

Można również użyć AlternatingItemStyle właściwości , aby zapewnić inny wygląd elementów przemiennych w kontrolce DataList .

Dotyczy

Zobacz też