TemplateColumn Class
Represents a column type for the DataGrid control that allows you to customize the layout of controls in the column.
Assembly: System.Web (in System.Web.dll)
| Name | Description | |
|---|---|---|
![]() | TemplateColumn() | Initializes a new instance of the TemplateColumn class. |
| Name | Description | |
|---|---|---|
![]() | DesignMode | Gets a value that indicates whether the column is in design mode.(Inherited from DataGridColumn.) |
![]() | EditItemTemplate | Gets or sets the template for displaying the item selected for editing in a TemplateColumn object. |
![]() | FooterStyle | Gets the style properties for the footer section of the column.(Inherited from DataGridColumn.) |
![]() | FooterTemplate | Gets or sets the template for displaying the footer section of the TemplateColumn object. |
![]() | FooterText | Gets or sets the text displayed in the footer section of the column.(Inherited from DataGridColumn.) |
![]() | HeaderImageUrl | Gets or sets the location of an image to display in the header section of the column.(Inherited from DataGridColumn.) |
![]() | HeaderStyle | Gets the style properties for the header section of the column.(Inherited from DataGridColumn.) |
![]() | HeaderTemplate | Gets or sets the template for displaying the heading section of the TemplateColumn object. |
![]() | HeaderText | Gets or sets the text displayed in the header section of the column.(Inherited from DataGridColumn.) |
![]() | IsTrackingViewState | Gets a value that determines whether the DataGridColumn object is marked to save its state.(Inherited from DataGridColumn.) |
![]() | ItemStyle | Gets the style properties for the item cells of the column.(Inherited from DataGridColumn.) |
![]() | ItemTemplate | Gets or sets the template for displaying a data item in a TemplateColumn object. |
![]() | Owner | Gets the DataGrid control that the column is a member of.(Inherited from DataGridColumn.) |
![]() | SortExpression | Gets or sets the name of the field or expression to pass to the OnSortCommand method when a column is selected for sorting.(Inherited from DataGridColumn.) |
![]() | ViewState | Gets the System.Web.UI.StateBag object that allows a column derived from the DataGridColumn class to store its properties.(Inherited from DataGridColumn.) |
![]() | Visible | Gets or sets a value that indicates whether the column is visible in the DataGrid control.(Inherited from DataGridColumn.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | Initialize() | Provides the base implementation to reset a column derived from the DataGridColumn class to its initial state.(Inherited from DataGridColumn.) |
![]() | InitializeCell(TableCell, Int32, ListItemType) | This API supports the product infrastructure and is not intended to be used directly from your code. Calls a TableCell object's base class to initialize the instance and then applies a ListItemType to the cell.(Overrides DataGridColumn.InitializeCell(TableCell, Int32, ListItemType).) |
![]() | LoadViewState(Object) | Loads the state of the DataGridColumn object.(Inherited from DataGridColumn.) |
![]() | MemberwiseClone() | |
![]() | OnColumnChanged() | Calls the DataGridDesigner.OnColumnsChanged method.(Inherited from DataGridColumn.) |
![]() | SaveViewState() | Saves the current state of the DataGridColumn object.(Inherited from DataGridColumn.) |
![]() | ToString() | Returns the string representation of the column.(Inherited from DataGridColumn.) |
![]() | TrackViewState() | Causes tracking of view-state changes to the server control so they can be stored in the server control's System.Web.UI.StateBag object.(Inherited from DataGridColumn.) |
| Name | Description | |
|---|---|---|
![]() ![]() | IStateManager.LoadViewState(Object) | This API supports the product infrastructure and is not intended to be used directly from your code. Loads previously saved state.(Inherited from DataGridColumn.) |
![]() ![]() | IStateManager.SaveViewState() | This API supports the product infrastructure and is not intended to be used directly from your code. Returns an object containing state changes.(Inherited from DataGridColumn.) |
![]() ![]() | IStateManager.TrackViewState() | This API supports the product infrastructure and is not intended to be used directly from your code. Starts tracking state changes.(Inherited from DataGridColumn.) |
![]() ![]() | IStateManager.IsTrackingViewState | This API supports the product infrastructure and is not intended to be used directly from your code. Gets a value that indicates whether the column is tracking view state changes.(Inherited from DataGridColumn.) |
Use the TemplateColumn column type in a DataGrid control to create a column with a customized control layout. You can provide a custom appearance for the heading section, the footer section, and the items section of the column by using the HeaderTemplate, FooterTemplate, and ItemTemplate properties, respectively. You can also control how an item being edited is displayed in the TemplateColumn object by setting the EditItemTemplate property.
The following code example demonstrates how to use the TemplateColumn class to create a column in the DataGrid control with a custom layout.
<%@ 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"> Private Store As DataTable = New DataTable() Private StoreView As DataView Sub Page_Load(sender As Object, e As EventArgs) If IsNothing(Session("StoreData")) Then Dim dr As DataRow Dim i As Integer Store = New DataTable() Store.Columns.Add(New DataColumn("Tax", GetType(String))) Store.Columns.Add(New DataColumn("Item", GetType(String))) Store.Columns.Add(New DataColumn("Price", GetType(String))) Session("StoreData") = Store ' Create sample data. For i = 1 to 4 dr = Store.NewRow() dr(0) = "0.0%" dr(1) = "Item " & i.ToString() dr(2) = (1.23 * (i + 1)).ToString() Store.Rows.Add(dr) Next i Else Store = Session("StoreData") End If StoreView = New DataView(Store) StoreView.Sort="Item" If Not IsPostBack Then BindGrid() End If End Sub Sub MyDataGrid_Edit(sender As Object, e As DataGridCommandEventArgs) MyDataGrid.EditItemIndex = e.Item.ItemIndex BindGrid() End Sub Sub MyDataGrid_Cancel(sender As Object, e As DataGridCommandEventArgs) MyDataGrid.EditItemIndex = -1 BindGrid() End Sub Sub MyDataGrid_Update(sender As Object, e As DataGridCommandEventArgs) ' Get the text box that contains the price to edit. ' For bound columns the edited value is stored in a text box. ' The text box is the first control in the Controls collection. Dim priceText As TextBox = e.Item.Cells(3).Controls(0) ' Get the check box that indicates whether to include tax from the ' TemplateColumn. Notice that in this case, the check box control is ' second control in the Controls collection. Dim taxCheck As CheckBox = e.Item.Cells(2).Controls(1) Dim item As String = e.Item.Cells(1).Text Dim price As String = priceText.Text Dim dr As DataRow ' With a database, use an update command. Since the data source is ' an in-memory DataTable, delete the old row and replace it with a new one. ' Remove old entry. StoreView.RowFilter = "Item='" & item & "'" If StoreView.Count > 0 Then StoreView.Delete(0) End If StoreView.RowFilter = "" ' Add new entry. dr = Store.NewRow() If taxCheck.Checked Then dr(0) = "8.6%" Else dr(0) = "0.0%" End If dr(1) = item dr(2) = price Store.Rows.Add(dr) MyDataGrid.EditItemIndex = -1 BindGrid() End Sub Sub BindGrid() MyDataGrid.DataSource = StoreView MyDataGrid.DataBind() End Sub </script> <head runat="server"> <title>TemplateColumn Example</title> </head> <body> <form id="form1" runat="server"> <h3>TemplateColumn Example</h3> <asp:DataGrid id="MyDataGrid" runat="server" BorderColor="black" CellPadding="2" OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel" OnUpdateCommand="MyDataGrid_Update" ShowFooter="True" AutoGenerateColumns="false"> <Columns> <asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" ItemStyle-Wrap="false" HeaderText="Edit Controls"/> <asp:BoundColumn HeaderText="Description" ReadOnly="true" DataField="Item"/> <asp:TemplateColumn> <HeaderTemplate> <b> Tax </b> </HeaderTemplate> <ItemTemplate> <asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "Tax") %>' runat="server"/> </ItemTemplate> <EditItemTemplate> <asp:CheckBox Text="Taxable" runat="server"/> </EditItemTemplate> <FooterTemplate> <asp:HyperLink id="HyperLink1" Text="Microsoft" NavigateUrl="http://www.microsoft.com" runat="server"/> </FooterTemplate> </asp:TemplateColumn> <asp:BoundColumn HeaderText="Price" DataField="Price"/> </Columns> </asp:DataGrid> </form> </body> </html>
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
.jpeg?cs-save-lang=1&cs-lang=vb)
.jpeg?cs-save-lang=1&cs-lang=vb)
.jpeg?cs-save-lang=1&cs-lang=vb)
.jpeg?cs-save-lang=1&cs-lang=vb)
.jpeg?cs-save-lang=1&cs-lang=vb)
.jpeg?cs-save-lang=1&cs-lang=vb)
.jpeg?cs-save-lang=1&cs-lang=vb)