DataList.ExtractTemplateRows プロパティ
アセンブリ: System.Web (system.web.dll 内)

Dim instance As DataList Dim value As Boolean value = instance.ExtractTemplateRows instance.ExtractTemplateRows = value
/** @property */ public boolean get_ExtractTemplateRows () /** @property */ public void set_ExtractTemplateRows (boolean value)
public function get ExtractTemplateRows () : boolean public function set ExtractTemplateRows (value : boolean)
DataList コントロールの各テンプレート内で定義された Table コントロールの行を抽出して表示する場合は true。それ以外の場合は false。既定値は false です。

DataList コントロールの内容は、テンプレートを使用して指定されます。通常は、テンプレートに表示するコントロールのリストを記述します。さらに、テンプレートに Table コントロールを配置して、テーブルの行も表示できます。
ExtractTemplateRows プロパティを使用して、DataList コントロールの各テンプレート内で定義された Table コントロールの行を抽出して表示するかどうかを指定します。DataList コントロールのテンプレートから抽出されたすべての行が単一のテーブルに表示されます。これにより、DataList コントロールの機能を維持したまま、他の小さな複数のテーブルから単一のテーブルを作成できます。
![]() |
---|
このプロパティを true に設定する場合は、DataList コントロールに含める各テンプレートに対して適切な形式の Table コントロールを作成する必要があります。テーブルの行だけが表示されます。テンプレートの他の内容はすべて無視されます。この機能が適切に動作するには、Table コントロールを使用する必要があります。System.Web.UI.HtmlControls.HtmlTable コントロールは、このプロパティと互換性がありません。 |
テンプレート内で Table コントロールのセルを作成する場合は、TableCell オブジェクトの ColumnSpan プロパティを使用してセルの幅を示す列数を制御します。RowSpan プロパティを使用して、セルの幅を示す行数も制御できます。

ExtractTemplateRows プロパティを使用して、DataList コントロールのテンプレート内で定義された Table コントロールの行を抽出して表示する方法のコード例を次に示します。
![]() |
---|
次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。Web フォームのコード モデルの詳細については、「ASP.NET Web ページのコード モデル」を参照してください。 |
<%@ 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>

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からDataList.ExtractTemplateRows プロパティを検索する場合は、下記のリンクをクリックしてください。

- DataList.ExtractTemplateRows プロパティのページへのリンク