Freigeben über


DataList.ExtractTemplateRows-Eigenschaft

Ruft einen Wert ab, der angibt, ob die Zeilen eines Table-Steuerelements, die in den einzelnen Vorlagen eines DataList-Steuerelements definiert sind, extrahiert und angezeigt werden, oder legt diesen fest.

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

Syntax

'Declaration
Public Overridable Property ExtractTemplateRows As Boolean
'Usage
Dim instance As DataList
Dim value As Boolean

value = instance.ExtractTemplateRows

instance.ExtractTemplateRows = value
public virtual bool ExtractTemplateRows { get; set; }
public:
virtual property bool ExtractTemplateRows {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_ExtractTemplateRows ()

/** @property */
public void set_ExtractTemplateRows (boolean value)
public function get ExtractTemplateRows () : boolean

public function set ExtractTemplateRows (value : boolean)

Eigenschaftenwert

true, wenn die Zeilen eines Table-Steuerelements, die in den einzelnen Vorlagen eines DataList-Steuerelements definiert sind, extrahiert und angezeigt werden, andernfalls false. Der Standardwert ist false.

Hinweise

Der Inhalt des DataList-Steuerelements wird mithilfe von Vorlagen angegeben. Normalerweise listen Sie die Steuerelemente auf, die in den Vorlagen angezeigt werden sollen. Sie können auch ein Table-Steuerelement in eine Vorlage einfügen und die Zeilen der Tabelle anzeigen.

Mit der ExtractTemplateRows-Eigenschaft können Sie angeben, ob die Zeilen eines Table-Steuerelements, die in den einzelnen Vorlagen eines DataList-Steuerelements definiert sind, extrahiert und angezeigt werden. Alle aus den Vorlagen des DataList-Steuerelements extrahierten Zeilen werden in einer einzelnen Tabelle angezeigt. Auf diese Weise können Sie eine einzelne Tabelle aus mehreren kleineren Tabellen erstellen und die Features des DataList-Steuerelements weiterhin beibehalten.

Hinweis

Wenn diese Eigenschaft auf true festgelegt wurde, müssen Sie ein richtig formatiertes Table-Steuerelement für jede Vorlage bereitstellen, die Sie in das DataList-Steuerelement einfügen möchten. Es werden nur die Zeilen der Tabellen angezeigt. Der restliche Inhalt der Vorlage wird ignoriert. Sie müssen ein Table-Steuerelement verwenden, damit dieses Feature richtig funktioniert. Das System.Web.UI.HtmlControls.HtmlTable-Steuerelement ist nicht mit dieser Eigenschaft kompatibel.

Wenn Sie eine Zelle für ein Table-Steuerelement in einer Vorlage erstellen, können Sie mit der ColumnSpan-Eigenschaft des TableCell-Objekts die Anzahl der Spalten bestimmen, über die sich die Zelle erstreckt. Weiterhin können Sie mit der RowSpan-Eigenschaft die Anzahl der Zeilen steuern, über die sich die Zelle erstreckt.

Hinweis

Wenn diese Eigenschaft auf true festgelegt ist, haben die RepeatColumns-Eigenschaft, die RepeatDirection-Eigenschaft und die RepeatLayout-Eigenschaft keine Auswirkung auf die Darstellung des DataList-Steuerelements.

Beispiel

Im folgenden Codebeispiel wird die Verwendung der ExtractTemplateRows-Eigenschaft für das Extrahieren und Anzeigen von Zeilen des Table-Steuerelements veranschaulicht, die in den Vorlagen des DataList-Steuerelements definiert sind.

Hinweis

Im folgenden Codebeispiel wird das Einzeldatei-Codemodell verwendet. Das Beispiel funktioniert möglicherweise nicht, wenn es direkt in eine CodeBehind-Datei kopiert wird. Dieses Codebeispiel muss in eine leere Textdatei mit einer ASPX-Erweiterung kopiert werden. Weitere Informationen zum Web Forms-Codemodell finden Sie unter Codemodell für ASP.NET-Webseiten.

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <script runat="server">
 
    Function CreateDataSource() As ICollection
        Dim dt As New DataTable()
        Dim dr As DataRow
        
        dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
        dt.Columns.Add(New DataColumn("PriceValue", GetType(String)))
        dt.Columns.Add(New DataColumn("DescriptionValue", GetType(String)))
        
        Dim i As Integer
        For i = 0 To 9
            dr = dt.NewRow()
            dr(0) = "Item " & i.ToString()
            dr(1) =(1.23 *(i + 1)).ToString()
            dr(2) = "Description for Item " + i.ToString()
            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
            DataList1.DataSource = CreateDataSource()
            DataList1.DataBind()
        End If
    End Sub 'Page_Load
     
   </script>
 
<body>
 
   <form runat=server>

      <h3>DataList ExtractTemplateRows Example</h3>
 
      <asp:DataList id="DataList1" runat="server"
           BorderColor="black"
           CellPadding="3"
           Font-Name="Verdana"
           Font-Size="8pt"
           ExtractTemplateRows="true"
           GridLines="Both">

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

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            <asp:Table id="Table1" runat="server">

                <asp:TableRow>

                   <asp:TableCell
                        ColumnSpan="2">
                      Items
                   </asp:TableCell>

                </asp:TableRow>

            </asp:Table>

         </HeaderTemplate>
               
         <ItemTemplate>

            <asp:Table id="Table2" runat="server">

                <asp:TableRow>

                   <asp:TableCell
                        Text='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'>
                   </asp:TableCell>

                   <asp:TableCell
                        Text='<%# DataBinder.Eval(Container.DataItem, "PriceValue") %>'>
                   </asp:TableCell>

                </asp:TableRow>

                <asp:TableRow>

                   <asp:TableCell
                        ColumnSpan="2"
                        Text='<%# DataBinder.Eval(Container.DataItem, "DescriptionValue") %>'>
                   </asp:TableCell>

                </asp:TableRow>

            </asp:Table>

         </ItemTemplate>
 
      </asp:DataList>
 
   </form>
 
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <script runat="server">
 
      ICollection CreateDataSource() 
      {
         DataTable dt = new DataTable();
         DataRow dr;
 
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
         dt.Columns.Add(new DataColumn("PriceValue", typeof(string)));
         dt.Columns.Add(new DataColumn("DescriptionValue", typeof(string)));
  
         for (int i = 0; i < 10; i++) 
         {
            dr = dt.NewRow();
            dr[0] = "Item " + i.ToString();
            dr[1] = (1.23 * (i+1)).ToString();
            dr[2] = "Description for Item " + i.ToString();
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
 
      void Page_Load(Object sender, EventArgs e) 
      {
         if (!IsPostBack) 
         {
            DataList1.DataSource = CreateDataSource();
            DataList1.DataBind();
         }
      }
 
   </script>
 
<body>
 
   <form runat=server>

      <h3>DataList ExtractTemplateRows Example</h3>
 
      <asp:DataList id="DataList1" runat="server"
           BorderColor="black"
           CellPadding="3"
           Font-Name="Verdana"
           Font-Size="8pt"
           ExtractTemplateRows="true"
           GridLines="Both">

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

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            <asp:Table id="Table1" runat="server">

                <asp:TableRow>

                   <asp:TableCell
                        ColumnSpan="2">
                      Items
                   </asp:TableCell>

                </asp:TableRow>

            </asp:Table>

         </HeaderTemplate>
               
         <ItemTemplate>

            <asp:Table id="Table2" runat="server">

                <asp:TableRow>

                   <asp:TableCell
                        Text='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'>
                   </asp:TableCell>

                   <asp:TableCell
                        Text='<%# DataBinder.Eval(Container.DataItem, "PriceValue") %>'>
                   </asp:TableCell>

                </asp:TableRow>

                <asp:TableRow>

                   <asp:TableCell
                        ColumnSpan="2"
                        Text='<%# DataBinder.Eval(Container.DataItem, "DescriptionValue") %>'>
                   </asp:TableCell>

                </asp:TableRow>

            </asp:Table>

         </ItemTemplate>
 
      </asp:DataList>
 
   </form>
 
</body>
</html>

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

DataList-Klasse
DataList-Member
System.Web.UI.WebControls-Namespace
Table
TableRow
TableCell
DataList.AlternatingItemTemplate-Eigenschaft
DataList.EditItemTemplate-Eigenschaft
FooterTemplate
HeaderTemplate
ItemTemplate
SelectedItemTemplate
SeparatorTemplate

Weitere Ressourcen

DataList-Webserver-Steuerelement