다음을 통해 공유


DataList.ExtractTemplateRows 속성

정의

Table 컨트롤의 각 템플릿에 정의된 DataList 컨트롤의 행이 추출되고 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다.

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 Forms 코드 모델에 대 한 자세한 내용은 참조 하세요. ASP.NET Web Forms 페이지 코드 모델합니다.

<%@ 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 속성을 컨트롤의 각 템플릿에 정의 된 컨트롤의 TableDataList 행을 추출 하 고 표시 되는지 여부를 지정 합니다. 컨트롤의 DataList 템플릿에서 추출된 모든 행이 단일 테이블에 표시됩니다. 이렇게 하면 다른 작은 테이블에서 단일 테이블을 만들고 컨트롤의 DataList 기능을 계속 유지할 수 있습니다.

참고

이 속성이 로 true설정되면 컨트롤에 포함하려는 각 템플릿에 대해 올바른 형식 Table 의 컨트롤을 DataList 제공해야 합니다. 테이블의 행만 표시됩니다. 템플릿의 다른 모든 콘텐츠는 무시됩니다. 이 기능이 제대로 작동하려면 컨트롤을 사용해야 Table 합니다. 컨트롤이 System.Web.UI.HtmlControls.HtmlTable 이 속성과 호환되지 않습니다.

템플릿에서 컨트롤에 대한 셀을 Table 만들 때 개체의 TableCell 속성을 사용하여 ColumnSpan 셀 범위의 열 수를 제어할 수 있습니다. 셀 범위의 행 수를 제어하는 데 속성을 사용할 RowSpan 수도 있습니다.

참고

, RepeatDirection및 속성은 RepeatColumns이 속성이 로 설정된 경우 컨트롤의 DataList 모양에 trueRepeatLayout 영향을 미치지 않습니다.

적용 대상

추가 정보