DataList.ExtractTemplateRows Vlastnost

Definice

Získá nebo nastaví hodnotu, která označuje, zda jsou řádky Table ovládacího prvku definované v každé šabloně DataList ovládacího prvku extrahovány a zobrazeny.

public:
 virtual property bool ExtractTemplateRows { bool get(); void set(bool value); };
public virtual bool ExtractTemplateRows { get; set; }
member this.ExtractTemplateRows : bool with get, set
Public Overridable Property ExtractTemplateRows As Boolean

Hodnota vlastnosti

Boolean

truepokud jsou řádky Table ovládacího prvku definované v každé šabloně DataList ovládacího prvku extrahovány a zobrazeny; jinak . false Výchozí hodnota je false.

Příklady

Následující příklad kódu ukazuje, jak pomocí ExtractTemplateRows vlastnosti extrahovat a zobrazit řádky ovládacích prvků definovaných Table v šablonách DataList ovládacího prvku.

Poznámka

Následující ukázka kódu používá model kódu s jedním souborem a nemusí správně fungovat, pokud se zkopíruje přímo do souboru s kódem. Tento ukázkový kód se musí zkopírovat do prázdného textového souboru s příponou .aspx. Další informace o modelu kódu Web Forms najdete v tématu ASP.NET Web Forms Model kódu stránky.

<%@ 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">
    <script runat="server">

        private 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 = 1; i < 11; i++)
            {
                dr = dt.NewRow();
                dr[0] = "Item " + i.ToString();
                dr[1] = String.Format("{0:C}", (1.23 * (i + 1)));
                dr[2] = "Description for Item " + i.ToString();
                dt.Rows.Add(dr);
            }

            DataView dv = new DataView(dt);
            return dv;
        }

        private void Page_Load(Object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataList1.DataSource = CreateDataSource();
                DataList1.DataBind();
            }
        }
    </script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>
        ExtractTemplateRows Example
    </title>
</head>
<body>
    <form id="form1" runat="server">

    <h3>DataList ExtractTemplateRows Example</h3>

    <asp:DataList id="DataList1" runat="server"
        BorderColor="black"
        CellPadding="3"
        Font-Names="Arial, Helvetica"
        Font-Size="9pt"
        ExtractTemplateRows="true"
        GridLines="Both">

        <HeaderStyle BackColor="LightBlue" />
        <AlternatingItemStyle BackColor="#efefef" />

        <HeaderTemplate>
        <asp:Table id="Table1" runat="server">
            <asp:TableRow>
                <asp:TableHeaderCell
                    ColumnSpan="2">
                    Items List
                </asp:TableHeaderCell>
            </asp:TableRow>
        </asp:Table>
        </HeaderTemplate>

        <ItemTemplate>
            <asp:Table id="Table2" runat="server">
                <asp:TableRow>
                    <asp:TableCell 
                        Text='<%# Eval("StringValue") %>'>
                    </asp:TableCell>
                    <asp:TableCell 
                        HorizontalAlign="Right"
                        Text='<%# Eval("PriceValue") %>'>
                    </asp:TableCell>
                </asp:TableRow>
                <asp:TableRow>
                    <asp:TableCell
                        ColumnSpan="2" 
                        Text='<%# Eval("DescriptionValue") %>'>
                    </asp:TableCell>
                </asp:TableRow>
            </asp:Table>
        </ItemTemplate> 
    </asp:DataList>
 
   </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
        Private 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 = 1 To 10
                dr = dt.NewRow()
                dr(0) = "Item " + i.ToString()
                dr(1) = String.Format("{0:C}", (1.23 * (i + 1)))
                dr(2) = "Description for Item " + i.ToString()
                dt.Rows.Add(dr)
            Next

            Dim dv As New DataView(dt)
            Return dv
        End Function

        Private Sub Page_Load(ByVal sender As Object, _
            ByVal e As EventArgs)

            If Not IsPostBack Then
                DataList1.DataSource = CreateDataSource()
                DataList1.DataBind()
            End If
        End Sub
    </script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>
        ExtractTemplateRows Example
    </title>
</head>
<body>
    <form id="form1" runat="server">

    <h3>DataList ExtractTemplateRows Example</h3>

    <asp:DataList id="DataList1" runat="server"
        BorderColor="black"
        CellPadding="3"
        Font-Names="Arial, Helvetica"
        Font-Size="9pt"
        ExtractTemplateRows="true"
        GridLines="Both">

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

        <HeaderTemplate>
        <asp:Table id="Table1" runat="server">
            <asp:TableRow>
                <asp:TableHeaderCell
                    ColumnSpan="2">
                    Items List
                </asp:TableHeaderCell>
            </asp:TableRow>
        </asp:Table>
        </HeaderTemplate>

        <ItemTemplate>
            <asp:Table id="Table2" runat="server">
                <asp:TableRow>
                    <asp:TableCell 
                        Text='<%# Eval("StringValue") %>'>
                    </asp:TableCell>
                    <asp:TableCell 
                        HorizontalAlign="Right"
                        Text='<%# Eval("PriceValue") %>'>
                    </asp:TableCell>
                </asp:TableRow>
                <asp:TableRow>
                    <asp:TableCell
                        ColumnSpan="2" 
                        Text='<%# Eval("DescriptionValue") %>'>
                    </asp:TableCell>
                </asp:TableRow>
            </asp:Table>
        </ItemTemplate> 
    </asp:DataList>
 
   </form>
</body>
</html>

Poznámky

Obsah DataList ovládacího prvku je určený pomocí šablon. Obvykle vypíšete ovládací prvky, které chcete zobrazit v šablonách. Ovládací prvek můžete také umístit Table do šablony a zobrazit řádky tabulky.

ExtractTemplateRows Pomocí vlastnosti určete, zda jsou řádky Table ovládacího prvku definované v každé šabloně DataList ovládacího prvku extrahovány a zobrazeny. Všechny řádky extrahované ze šablon DataList ovládacího prvku se zobrazí v jedné tabulce. Díky tomu můžete vytvořit jednu tabulku z jiných menších tabulek a stále udržovat funkce DataList ovládacího prvku.

Poznámka

Pokud je tato vlastnost nastavena na true, musíte zadat dobře formátovaný Table ovládací prvek pro každou šablonu, kterou chcete zahrnout do DataList ovládacího prvku. Zobrazí se jenom řádky tabulek. Veškerý ostatní obsah v šabloně bude ignorován. Chcete-li tuto funkci správně fungovat, musíte použít Table ovládací prvek. Ovládací System.Web.UI.HtmlControls.HtmlTable prvek není kompatibilní s touto vlastností.

Když vytvoříte buňku Table ovládacího prvku v šabloně, můžete pomocí ColumnSpan vlastnosti TableCell objektu řídit počet sloupců, které buňka zahrnuje. Vlastnost můžete také použít RowSpan k řízení počtu řádků, které buňka zahrnuje.

Poznámka

Vlastnost RepeatColumns, RepeatDirectiona RepeatLayout vlastnosti nemají vliv na vzhled DataList ovládacího prvku, pokud je tato vlastnost nastavena na true.

Platí pro

Viz také