DataList.ExtractTemplateRows プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
プロパティ値
Table コントロールの各テンプレート内で定義された DataList コントロールの行を抽出して表示する場合は true
。それ以外の場合は false
。 既定値は false
です。
例
次のコード例では、 プロパティを ExtractTemplateRows 使用して、コントロールのテンプレートで定義されているコントロールの Table 行を抽出して表示する方法を DataList 示します。
注意
次のコード サンプルでは、単一ファイルコード モデルを使用しており、分離コード ファイルに直接コピーすると正しく動作しない場合があります。 このコード サンプルは、.aspx拡張子を持つ空のテキスト ファイルにコピーする必要があります。 Web フォーム コード モデルの詳細については、「ASP.NET Web フォーム ページ コード モデル」を参照してください。
<%@ 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>
注釈
コントロールの DataList 内容は、テンプレートを使用して指定します。 通常は、テンプレートに表示するコントロールを一覧表示します。 テンプレートにコントロールを Table 配置し、テーブルの行を表示することもできます。
プロパティを ExtractTemplateRows 使用して、コントロールの各テンプレートで定義されているコントロールの Table 行を DataList 抽出して表示するかどうかを指定します。 コントロールの DataList テンプレートから抽出されたすべての行は、1 つのテーブルに表示されます。 これにより、他の小さいテーブルから 1 つのテーブルを作成し、コントロールの機能を DataList 維持できます。
注意
このプロパティが に設定されている場合は、コントロールに true
含めるテンプレートごとに整形式 Table のコントロールを DataList 指定する必要があります。 テーブルの行のみが表示されます。 テンプレート内の他のすべてのコンテンツは無視されます。 この機能を正常に動作させるには、 Table コントロールを使用する必要があります。 コントロールは System.Web.UI.HtmlControls.HtmlTable 、このプロパティと互換性がありません。
テンプレートでコントロールのセルをTable作成する場合は、 オブジェクトの TableCell プロパティをColumnSpan使用して、セルがまたがる列の数を制御できます。 プロパティを RowSpan 使用して、セルがまたがる行数を制御することもできます。
注意
RepeatDirection、、および RepeatLayout プロパティはRepeatColumns、このプロパティが に設定されている場合、コントロールのDataList外観にはtrue
影響しません。
適用対象
こちらもご覧ください
.NET