Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad DataList.ExtractTemplateRows

 

Publicado: octubre de 2016

Obtiene o establece un valor que indica si las filas de una Table control, definido en cada plantilla de un DataList control, que se extraen y se muestran.

Espacio de nombres:   System.Web.UI.WebControls
Ensamblado:  System.Web (en System.Web.dll)

public virtual bool ExtractTemplateRows { get; set; }

Valor de propiedad

Type: System.Boolean

true Si las filas de una Table control, definido en cada plantilla de un DataList control, se extraen y mostrados; de lo contrario, false. El valor predeterminado es false.

El contenido de la DataList control se especifican mediante el uso de plantillas. Normalmente, se enumeran los controles que desea mostrar en las plantillas. También puede colocar un Table en una plantilla y mostrar las filas de la tabla.

Utilice la ExtractTemplateRows propiedad para especificar si las filas de una Table control definido en cada plantilla de un DataList control se extraen y se muestran. Todas las filas que se extraen de las plantillas de la DataList control se muestran en una sola tabla. Esto le permite crear una única tabla de otras tablas más pequeñas y mantener las características de la DataList control.

System_CAPS_noteNota

Cuando esta propiedad se establece en true, debe proporcionar un formato correcto Table control para cada plantilla que desee incluir en el DataList control. Se mostrará únicamente las filas de las tablas. Se omitirá el resto del contenido de la plantilla. Debe usar un Table control para que esta característica funcione correctamente. El System.Web.UI.HtmlControls.HtmlTable control no es compatible con esta propiedad.

Cuando se crea una celda para una Table control en una plantilla, puede usar el ColumnSpan propiedad de la TableCell objeto para controlar el número de columnas que abarca la celda. También puede utilizar el RowSpan propiedad para controlar el número de filas que abarca la celda.

System_CAPS_noteNota

El RepeatColumns, RepeatDirection, y RepeatLayout propiedades no afectan a la apariencia de la DataList control cuando se establece esta propiedad en true.

En el ejemplo de código siguiente se muestra cómo utilizar el ExtractTemplateRows propiedad para extraer y mostrar las filas de Table controles definidos en las plantillas de la DataList control.

System_CAPS_noteNota

El siguiente ejemplo de código utiliza el modelo de código de un solo archivo y puede no funcionar correctamente si se copia directamente en un archivo de código subyacente. Este ejemplo de código debe copiarse en un archivo de texto vacío con la extensión .aspx. Para obtener más información sobre el modelo de código de formularios Web Forms, vea ASP.NET Web Forms Page Code Model.

<%@ 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>

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: