TemplateColumn TemplateColumn TemplateColumn TemplateColumn Class

Definition

Stellt einen Spaltentyp für das DataGrid-Steuerelement dar, der Ihnen das Anpassen des Layouts von Steuerelementen in der Spalte ermöglicht.Represents a column type for the DataGrid control that allows you to customize the layout of controls in the column.

public ref class TemplateColumn : System::Web::UI::WebControls::DataGridColumn
public class TemplateColumn : System.Web.UI.WebControls.DataGridColumn
type TemplateColumn = class
    inherit DataGridColumn
Public Class TemplateColumn
Inherits DataGridColumn
Vererbung
TemplateColumnTemplateColumnTemplateColumnTemplateColumn

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die TemplateColumn -Klasse verwendet wird, um eine DataGrid Spalte im-Steuerelement mit einem benutzerdefinierten Layout zu erstellen.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="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">

      DataTable Store = new DataTable();
      DataView StoreView;  

      void Page_Load(Object sender, EventArgs e) 
      {
         if(Session["StoreData"] == null)
         {
            DataRow dr;
 
            Store = new DataTable();      

            Store.Columns.Add(new DataColumn("Tax", typeof(String)));
            Store.Columns.Add(new DataColumn("Item", typeof(String)));
            Store.Columns.Add(new DataColumn("Price", typeof(String)));

            Session["StoreData"] = Store;
            
            // Create sample data.
            for (int i = 1; i <= 4; i++) 
            {
               dr = Store.NewRow();

               dr[0] = "0.0%";
               dr[1] = "Item " + i.ToString();
               dr[2] = (1.23 * (i + 1)).ToString();
 
               Store.Rows.Add(dr);
            }       

         }
         else
            Store = (DataTable)Session["StoreData"];

         StoreView = new DataView(Store);
         StoreView.Sort="Item";

         if(!IsPostBack)                    
            BindGrid();
                   
      }

      void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs e) 
      {
         MyDataGrid.EditItemIndex = e.Item.ItemIndex;
         BindGrid();
      }

      void MyDataGrid_Cancel(Object sender, DataGridCommandEventArgs e) 
      {
         MyDataGrid.EditItemIndex = -1;
         BindGrid();
      }

      void MyDataGrid_Update(Object sender, DataGridCommandEventArgs e) 
      {
         // 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.
         TextBox priceText = (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.
         CheckBox taxCheck = (CheckBox)e.Item.Cells[2].Controls[1];

         String item = e.Item.Cells[1].Text;
         String price = priceText.Text;
       
         DataRow dr;

         // 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)
            StoreView.Delete(0);
         StoreView.RowFilter = "";
 
         // Add new entry.
         dr = Store.NewRow();

         if (taxCheck.Checked)
            dr[0] = "8.6%";
         else 
            dr[0] = "0.0%";
         dr[1] = item;
         dr[2] = price;
         Store.Rows.Add(dr);

         MyDataGrid.EditItemIndex = -1;
         BindGrid();
      }

      void BindGrid() 
      {
         MyDataGrid.DataSource = StoreView;
         MyDataGrid.DataBind();
      }

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


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

Hinweise

Verwenden Sie TemplateColumn den Spaltentyp DataGrid in einem-Steuerelement, um eine Spalte mit einem angepassten Steuerelement Layout zu erstellen.Use the TemplateColumn column type in a DataGrid control to create a column with a customized control layout. Sie können eine benutzerdefinierte Darstellung für die Kopfzeilenbereich, der Fußzeilenbereich enthält, und die Elemente der Spalte bereitstellen, mit der HeaderTemplate, FooterTemplate, und ItemTemplate Eigenschaften bzw.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. Sie können auch steuern, wie ein Element, das bearbeitet wird, TemplateColumn im-Objekt angezeigt EditItemTemplate wird, indem Sie die-Eigenschaft festlegen.You can also control how an item being edited is displayed in the TemplateColumn object by setting the EditItemTemplate property.

Konstruktoren

TemplateColumn() TemplateColumn() TemplateColumn() TemplateColumn()

Initialisiert eine neue Instanz der TemplateColumn-Klasse.Initializes a new instance of the TemplateColumn class.

Eigenschaften

DesignMode DesignMode DesignMode DesignMode

Ruft einen Wert ab, der angibt, ob sich die Spalte im Entwurfsmodus befindet.Gets a value that indicates whether the column is in design mode.

(Inherited from DataGridColumn)
EditItemTemplate EditItemTemplate EditItemTemplate EditItemTemplate

Ruft die Vorlage ab, mit der das zur Bearbeitung ausgewählte Element in einem TemplateColumn-Objekt angezeigt werden soll, oder legt diese fest.Gets or sets the template for displaying the item selected for editing in a TemplateColumn object.

FooterStyle FooterStyle FooterStyle FooterStyle

Ruft die Formatierungseigenschaften für den Fußzeilenbereich der Spalte ab.Gets the style properties for the footer section of the column.

(Inherited from DataGridColumn)
FooterTemplate FooterTemplate FooterTemplate FooterTemplate

Ruft die Vorlage zum Anzeigen des Fußzeilenbereichs des TemplateColumn-Objekts ab oder legt diese fest.Gets or sets the template for displaying the footer section of the TemplateColumn object.

FooterText FooterText FooterText FooterText

Ruft den im Fußzeilenbereich der Spalte angezeigten Text ab oder legt diesen fest.Gets or sets the text displayed in the footer section of the column.

(Inherited from DataGridColumn)
HeaderImageUrl HeaderImageUrl HeaderImageUrl HeaderImageUrl

Ruft den Speicherort eines Bilds ab, das im Headerbereich der Spalte angezeigt werden soll, oder legt diesen fest.Gets or sets the location of an image to display in the header section of the column.

(Inherited from DataGridColumn)
HeaderStyle HeaderStyle HeaderStyle HeaderStyle

Ruft die Formatierungseigenschaften für den Headerbereich der Spalte ab.Gets the style properties for the header section of the column.

(Inherited from DataGridColumn)
HeaderTemplate HeaderTemplate HeaderTemplate HeaderTemplate

Ruft die Vorlage zum Anzeigen des Headerbereichs des TemplateColumn-Objekts ab oder legt diese fest.Gets or sets the template for displaying the heading section of the TemplateColumn object.

HeaderText HeaderText HeaderText HeaderText

Ruft den im Headerbereich der Spalte angezeigten Text ab oder legt diesen fest.Gets or sets the text displayed in the header section of the column.

(Inherited from DataGridColumn)
IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState

Ruft einen Wert ab, der angibt, ob die Spalte Änderungen des Ansichtszustands nachverfolgt.Gets a value that indicates whether the column is tracking view state changes.

(Inherited from DataGridColumn)
IsTrackingViewState IsTrackingViewState IsTrackingViewState IsTrackingViewState

Ruft einen Wert ab, der bestimmt, ob das DataGridColumn-Objekt markiert wird, um seinen Zustand zu speichern.Gets a value that determines whether the DataGridColumn object is marked to save its state.

(Inherited from DataGridColumn)
ItemStyle ItemStyle ItemStyle ItemStyle

Ruft die Formatierungseigenschaften für die einzelnen Zellen der Spalte ab.Gets the style properties for the item cells of the column.

(Inherited from DataGridColumn)
ItemTemplate ItemTemplate ItemTemplate ItemTemplate

Ruft die Vorlage zum Anzeigen eines Datenelements in einer TemplateColumn ab oder legt diese fest.Gets or sets the template for displaying a data item in a TemplateColumn object.

Owner Owner Owner Owner

Ruft das DataGrid-Steuerelement ab, zu dessen Membern die Spalte gehört.Gets the DataGrid control that the column is a member of.

(Inherited from DataGridColumn)
SortExpression SortExpression SortExpression SortExpression

Ruft den Namen des Felds oder Ausdrucks ab, der an die OnSortCommand(DataGridSortCommandEventArgs)-Methode übergeben wird, wenn eine Spalte für die Sortierung ausgewählt wurde, oder legt diesen fest.Gets or sets the name of the field or expression to pass to the OnSortCommand(DataGridSortCommandEventArgs) method when a column is selected for sorting.

(Inherited from DataGridColumn)
ViewState ViewState ViewState ViewState

Ruft das StateBag-Objekt ab, wodurch einer von der DataGridColumn-Klasse abgeleiteten Spalte ermöglicht wird, ihre Eigenschaften zu speichern.Gets the StateBag object that allows a column derived from the DataGridColumn class to store its properties.

(Inherited from DataGridColumn)
Visible Visible Visible Visible

Ruft einen Wert ab, der angibt, ob die Spalte im DataGrid-Steuerelement sichtbar ist, oder legt diesen fest.Gets or sets a value that indicates whether the column is visible in the DataGrid control.

(Inherited from DataGridColumn)

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
Initialize() Initialize() Initialize() Initialize()

Stellt die Basisimplementierung bereit, mit der eine aus der DataGridColumn-Klasse abgeleitete Spalte in ihren Ausgangszustand zurückgesetzt werden kann.Provides the base implementation to reset a column derived from the DataGridColumn class to its initial state.

(Inherited from DataGridColumn)
InitializeCell(TableCell, Int32, ListItemType) InitializeCell(TableCell, Int32, ListItemType) InitializeCell(TableCell, Int32, ListItemType) InitializeCell(TableCell, Int32, ListItemType)

Ruft die Basisklasse eines TableCell-Objekts auf, um die Instanz zu initialisieren, und wendet dann einen ListItemType auf die Zelle an.Calls a TableCell object's base class to initialize the instance and then applies a ListItemType to the cell.

LoadViewState(Object) LoadViewState(Object) LoadViewState(Object) LoadViewState(Object)

Lädt den Zustand des DataGridColumn-Objekts.Loads the state of the DataGridColumn object.

(Inherited from DataGridColumn)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnColumnChanged() OnColumnChanged() OnColumnChanged() OnColumnChanged()

Aufruf der OnColumnsChanged()-Methode.Calls the OnColumnsChanged() method.

(Inherited from DataGridColumn)
SaveViewState() SaveViewState() SaveViewState() SaveViewState()

Speichert den aktuellen Zustand des DataGridColumn-Objekts.Saves the current state of the DataGridColumn object.

(Inherited from DataGridColumn)
ToString() ToString() ToString() ToString()

Gibt die Zeichenfolgendarstellung der Spalte zurück.Returns the string representation of the column.

(Inherited from DataGridColumn)
TrackViewState() TrackViewState() TrackViewState() TrackViewState()

Veranlasst die Überwachung von Änderungen am Ansichtszustand des Serversteuerelements, sodass die Änderungen im StateBag-Objekt des Serversteuerelements gespeichert werden können.Causes tracking of view-state changes to the server control so they can be stored in the server control's StateBag object.

(Inherited from DataGridColumn)

Explizite Schnittstellenimplementierungen

IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object)

Lädt den früher gespeicherten Zustand.Loads previously saved state.

(Inherited from DataGridColumn)
IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState()

Gibt ein Objekt zurück, das Zustandsänderungen enthält.Returns an object containing state changes.

(Inherited from DataGridColumn)
IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState()

Startet das Verfolgen von Zustandsänderungen.Starts tracking state changes.

(Inherited from DataGridColumn)

Gilt für:

Siehe auch