DataList.ExtractTemplateRows Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
true pokud jsou řádky Table ovládacího prvku definované v každé šabloně DataList ovládacího prvku extrahovány a zobrazeny; v opačném případě 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 Table prvků definovaných DataList v šablonách ovládacího prvku.
Note
Následující ukázka kódu používá model kódu s jedním souborem a při kopírování přímo do souboru s kódem nemusí správně fungovat. Tento vzorový kód musí být zkopírován do prázdného textového souboru, který má příponu .aspx. Další informace o modelu kódu webového formuláře najdete v tématu ASP.NET model kódu stránky webového formuláře.
<%@ 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
DataList Obsah ovládacího prvku je určen pomocí šablon. Za normálních okolností 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. To vám umožní vytvořit jednu tabulku z jiných menších tabulek a zachovat funkce DataList ovládacího prvku.
Note
Pokud je tato vlastnost nastavena na true, musíte poskytnout 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ě se bude ignorovat. Aby tato funkce fungovala správně, 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 pro ovládací prvek v šabloně, můžete pomocí ColumnSpan vlastnosti TableCell objektu určit počet sloupců, které buňka zahrnuje. Vlastnost můžete také použít RowSpan k řízení počtu řádků, které buňka zahrnuje.
Note
Vlastnost RepeatColumns, RepeatDirectiona RepeatLayout vlastnosti nemají vliv na vzhled DataList ovládacího prvku, pokud je tato vlastnost nastavena na true.