ItemStyle Property

DataGrid.ItemStyle Property

 

Gets the style properties of the items in the DataGrid control.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

<PersistenceModeAttribute(PersistenceMode.InnerProperty)>
Public Overridable ReadOnly Property ItemStyle As TableItemStyle

Property Value

Type: System.Web.UI.WebControls.TableItemStyle

A TableItemStyle object that contains the style properties of the items in the DataGrid control. The default value is an empty TableItemStyle object.

Use this property to provide a custom style for the items of the DataGrid control. Common style attributes that can be adjusted include forecolor, backcolor, font, and content alignment within the cell. Providing a different style enhances the appearance of the DataGrid control.

Item style properties in the DataGrid control are inherited from one item style property to another through a hierarchy. Item style properties set lower in the hierarchy are inherited by item style properties higher in the hierarchy. For example, if you specify a red font for the ItemStyle property, all other item style properties in the DataGrid control will also have a red font. This allows you to provide a common appearance for the control by setting a single item style property. You can override the inherited style settings for an item style property that is higher in the hierarchy by setting its style properties. For example, you can specify a blue font for the AlternatingItemStyle property, overriding the red font specified in the ItemStyle property. The following table lists the hierarchy order from highest to lowest.

Precedence

Style Property

1

EditItemStyle

2

SelectedItemStyle

3

AlternatingItemStyle

4

ItemStyle

5

ControlStyle

To specify a custom style for the items of the DataGrid control, place the <ItemStyle> tags between the opening and closing tags of the DataGrid control. You can then list the style attributes within the opening <ItemStyle> tag.

You can also use the AlternatingItemStyle property to provide a different appearance for the alternating items in the DataGrid control.

The following code example demonstrates how to use the ItemStyle property to set the background color of the items in the DataGrid to yellow.

<%@ 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">

    Dim Cart As DataTable
    Dim CartView As DataView

    Function CreateDataSource() As ICollection
        Dim dt As New DataTable()
        Dim dr As DataRow

        dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
        dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
        dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))

        Dim i As Integer
        For i = 0 To 9
            dr = dt.NewRow()

            dr(0) = i
            dr(1) = "Item " & i.ToString()
            dr(2) = 1.23 *(i + 1)

            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
            ' Load this data only once.
            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()
        End If
    End Sub 'Page_Load 

 </script>

 <head runat="server">
    <title>DataGrid Example</title>
</head>
<body>

    <form id="form1" runat="server">

       <h3>DataGrid Example</h3>

       <asp:DataGrid id="ItemsGrid" runat="server"
            BorderColor="black"
            BorderWidth="1"
            CellPadding="10"
            ShowFooter="true"
            AutoGenerateColumns="true">

          <HeaderStyle BackColor="#00aaaa">
          </HeaderStyle>

          <ItemStyle BackColor="yellow">
          </ItemStyle>

          <FooterStyle BackColor="#00aaaa">
          </FooterStyle>

       </asp:DataGrid>

    </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 DataGrid 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)))

         ' Populate the table with sample values.
         Dim i As Integer

         For i = 0 to 4 

            dr = dt.NewRow()

            dr(0) = i
            dr(1) = "Item " & i.ToString()
            dr(2) = 1.23 * (i + 1)

            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 

            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()

         End If

      End Sub

      Sub Selection_Change(sender As Object, e As EventArgs)

         ' Set the background color for the items and alternating items in
         ' the DataGrid control. Notice that the ItemStyle property affects
         ' the even-numbered items, while the AlternatingItemStyle property 
         ' affects the odd-numbered items.
         ItemsGrid.ItemStyle.BackColor = _
             System.Drawing.Color.FromName(ItemBackColorList.SelectedItem.Value)
         ItemsGrid.AlternatingItemStyle.BackColor = _
             System.Drawing.Color.FromName(AltItemBackColorList.SelectedItem.Value)

      End Sub

   </script>

<head runat="server">
    <title>DataGrid ItemStyle and AlternatingItemStyle Example</title>
</head>
<body>

   <form id="form1" runat="server">

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

      Select background colors for the items and alternating items.

      <br /><br />

      <b>Product List</b>

      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="False"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

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

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

         <Columns>

            <asp:BoundColumn DataField="IntegerValue" 
                 HeaderText="Item"/>

            <asp:BoundColumn DataField="StringValue" 
                 HeaderText="Description"/>

            <asp:BoundColumn DataField="CurrencyValue" 
                 HeaderText="Price"
                 DataFormatString="{0:c}">

               <ItemStyle HorizontalAlign="Right">
               </ItemStyle>

            </asp:BoundColumn>

         </Columns> 

      </asp:DataGrid>

      <hr />

      <table cellpadding="5">

         <tr>

            <td>

               Item BackColor:

            </td>

            <td>

               Alternating item BackColor:

            </td>

         </tr>

         <tr>

            <td>

               <asp:DropDownList id="ItemBackColorList"
                    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="AltItemBackColorList"
                    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>

.NET Framework
Available since 1.1
Return to top
Show:
© 2016 Microsoft