DataGrid.FooterStyle Property
Gets the style properties of the footer section in the DataGrid control.
Assembly: System.Web (in System.Web.dll)
<PersistenceModeAttribute(PersistenceMode.InnerProperty)> Public Overridable ReadOnly Property FooterStyle As TableItemStyle
Property Value
Type: System.Web.UI.WebControls.TableItemStyleA TableItemStyle object that contains the style properties of the footer section of the DataGrid control. The default value is an empty TableItemStyle object.
Use this property to provide a custom style for the footer 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.
The FooterStyle property of the DataGrid control inherits the style settings of the ControlStyle property. For example, if you specify a red font for the ControlStyle property, the FooterStyle property will also have a red font. This allows you to provide a common appearance for the control by setting a single style property. You can override the inherited style settings by setting the FooterStyle property. For example, you can specify a blue font for the FooterStyle property, overriding the red font specified in the ControlStyle property.
To specify a custom style for the footer section, place the <FooterStyle> tags between the opening and closing tags of the DataGrid control. You can then list the style attributes within the opening <FooterStyle> tag.
Note |
|---|
The ShowFooter property must be set to true for this property to be visible. |
The following code example demonstrates how to use the FooterStyle property to set the background color of the footer section.
<%@ 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("IntegerValue", GetType(Int32))) dt.Columns.Add(New DataColumn("StringValue", GetType(String))) dt.Columns.Add(New DataColumn("DateTimeValue", GetType(String))) dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean))) Dim i As Integer For i = 0 To 99 dr = dt.NewRow() dr(0) = i dr(1) = "Item " + i.ToString() dr(2) = DateTime.Now.ToShortDateString() If i Mod 2 <> 0 Then dr(3) = True Else dr(3) = False End If 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 chk1.Checked Then MyDataGrid.PagerStyle.Mode = PagerMode.NumericPages Else MyDataGrid.PagerStyle.Mode = PagerMode.NextPrev End If BindGrid() End Sub 'Page_Load Sub MyDataGrid_Page(sender As Object, e As DataGridPageChangedEventArgs) MyDataGrid.CurrentPageIndex = e.NewPageIndex BindGrid() End Sub 'MyDataGrid_Page Sub BindGrid() MyDataGrid.DataSource = CreateDataSource() MyDataGrid.DataBind() ShowStats() End Sub 'BindGrid Sub ShowStats() lblEnabled.Text = "AllowPaging is " & MyDataGrid.AllowPaging lblCurrentIndex.Text = "CurrentPageIndex is " & MyDataGrid.CurrentPageIndex lblPageCount.Text = "PageCount is " & MyDataGrid.PageCount lblPageSize.Text = "PageSize is " & MyDataGrid.PageSize End Sub 'ShowStats </script> <head runat="server"> <title>DataGrid Example</title> </head> <body> <h3>DataGrid Example</h3> <form id="form1" runat="server"> <asp:DataGrid id="MyDataGrid" runat="server" AllowPaging="True" PageSize="10" ShowFooter="true" OnPageIndexChanged="MyDataGrid_Page" BorderColor="black" BorderWidth="1" GridLines="Both" CellPadding="3" CellSpacing="0" Font-Names="Verdana" Font-Size="8pt"> <PagerStyle Mode="NumericPages" HorizontalAlign="Right"> </PagerStyle> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <FooterStyle BackColor="#aaaadd"> </FooterStyle> <AlternatingItemStyle BackColor="#eeeeee"> </AlternatingItemStyle> </asp:DataGrid> <br /> <asp:Checkbox id="chk1" runat="server" Text="Show numeric page navigation buttons" Font-Names="Verdana" Font-Size="8pt" AutoPostBack="true"/> <br /> <table style="background-color:#eeeeee; padding:6"> <tr> <td style="display:inline"> <asp:Label id="lblEnabled" runat="server"/><br /> <asp:Label id="lblCurrentIndex" runat="server"/><br /> <asp:Label id="lblPageCount" runat="server"/><br /> <asp:Label id="lblPageSize" runat="server"/><br /> </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 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 Button_Click(sender As Object, e As EventArgs) ' Count the number of selected items in the DataGrid control. Dim count As Integer = 0 ' Display the selected times. Message.Text = "You Selected: <br />" ' Iterate through each item (row) in the DataGrid control and determine ' whether it is selected. Dim item As DataGridItem For Each item In ItemsGrid.Items DetermineSelection(item, count) Next ' If no items are selected, display the appropriate message. If count = 0 Then Message.Text = "Not items selected" End If End Sub Sub DetermineSelection(item As DataGridItem, ByRef count As Integer) ' Retrieve the SelectCheckBox CheckBox control from the specified item (row) in the ' DataGrid control. Dim selection As CheckBox = CType(item.FindControl("SelectCheckBox"), CheckBox) ' If the item is selected, display the appropriate message and increment the count ' of selected items. If Not selection Is Nothing Then If selection.Checked Then Message.Text &= "- " & item.Cells(1).Text & "<br />" count = count + 1 End If 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 DataGrid control. ItemsGrid.HeaderStyle.BackColor = System.Drawing.Color.FromName(List.SelectedItem.Value) ItemsGrid.FooterStyle.BackColor = System.Drawing.Color.FromName(List.SelectedItem.Value) End Sub </script> <head runat="server"> <title>DataGrid HeaderStyle and FooterStyle Example</title> </head> <body> <form id="form1" runat="server"> <h3>DataGrid HeaderStyle and FooterStyle Example</h3> Select a backcolor for the header and footer sections. <br /><br /> <b>Product List</b> <asp:DataGrid id="ItemsGrid" BorderColor="black" BorderWidth="1" CellPadding="3" ShowFooter="True" AutoGenerateColumns="False" runat="server"> <HeaderStyle BackColor="White"> </HeaderStyle> <FooterStyle BackColor="White"> </FooterStyle> <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> <asp:TemplateColumn HeaderText="Select Item"> <ItemTemplate> <asp:CheckBox id="SelectCheckBox" Text="Add to Cart" Checked="False" runat="server"/> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> <br /><br /> <asp:Button id="SubmitButton" Text="Submit" OnClick = "Button_Click" runat="server"/> <br /><br /> <asp:Label id="Message" runat="server"/> <hr /> Header and footer backcolor: <br /> <asp:DropDownList id="List" 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> </form> </body> </html>
Available since 1.1
