DataList.ExtractTemplateRows Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Eigenschaftswert
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
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die ExtractTemplateRows -Eigenschaft verwendet wird, um die Zeilen von Table Steuerelementen zu extrahieren und anzuzeigen, die in den Vorlagen des DataList Steuerelements definiert sind.
Hinweis
Im folgenden Codebeispiel wird das Einzeldateicodemodell verwendet. Es funktioniert möglicherweise nicht ordnungsgemäß, 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 ASP.NET Web Forms-Seitencodemodell.
<%@ 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>
Hinweise
Der Inhalt des Steuerelements DataList wird mithilfe von Vorlagen angegeben. Normalerweise listen Sie Steuerelemente auf, die in den Vorlagen angezeigt werden sollen. Sie können auch ein Table Steuerelement in einer Vorlage platzieren und die Zeilen der Tabelle anzeigen.
Verwenden Sie die ExtractTemplateRows -Eigenschaft, um anzugeben, ob die Zeilen eines Table Steuerelements, das in jeder Vorlage eines DataList Steuerelements definiert ist, extrahiert und angezeigt werden. Alle Zeilen, die aus den Vorlagen des DataList Steuerelements extrahiert wurden, werden in einer einzelnen Tabelle angezeigt. Auf diese Weise können Sie eine einzelne Tabelle aus anderen kleineren Tabellen erstellen und weiterhin die Features des DataList Steuerelements verwalten.
Hinweis
Wenn diese Eigenschaft auf true
festgelegt ist, müssen Sie ein wohlgeformtes Table Steuerelement für jede Vorlage bereitstellen, die Sie in das DataList Steuerelement einschließen möchten. Es werden nur die Zeilen der Tabellen angezeigt. Alle anderen Inhalte in der Vorlage werden ignoriert. Sie müssen ein Table -Steuerelement verwenden, damit dieses Feature ordnungsgemäß funktioniert. Das System.Web.UI.HtmlControls.HtmlTable Steuerelement ist mit dieser Eigenschaft nicht kompatibel.
Wenn Sie eine Zelle für ein Table Steuerelement in einer Vorlage erstellen, können Sie die ColumnSpan -Eigenschaft des TableCell -Objekts verwenden, um die Anzahl der Spalten zu steuern, die die Zelle umfasst. Sie können die RowSpan -Eigenschaft auch verwenden, um die Anzahl der Zeilen zu steuern, die die Zelle umfasst.
Hinweis
Die RepeatColumnsEigenschaften , RepeatDirectionund RepeatLayout wirken sich nicht auf die Darstellung des DataList Steuerelements aus, wenn diese Eigenschaft auf true
festgelegt ist.