CompositeDataBoundControl.CreateChildControls Método

Definición

Crea la jerarquía de controles que se utiliza para procesar un control compuesto enlazado a datos.

Sobrecargas

CreateChildControls()

Crea la jerarquía de controles que se utiliza para procesar un control compuesto enlazado a datos basada en los valores que se almacenan en estado de vista.

CreateChildControls(IEnumerable, Boolean)

Cuando se reemplaza en una clase abstracta, crea la jerarquía de controles que se utiliza para procesar un control compuesto enlazado a datos basándose en los valores del origen de datos especificado.

CreateChildControls()

Crea la jerarquía de controles que se utiliza para procesar un control compuesto enlazado a datos basada en los valores que se almacenan en estado de vista.

C#
protected internal override void CreateChildControls();

Comentarios

El CreateChildControls() método es un método auxiliar que usan las clases que derivan de la CompositeDataBoundControl clase para crear la jerarquía de controles para un control compuesto enlazado a datos. Esta sobrecarga del método crea la jerarquía de controles en función de los valores del estado de vista, en lugar de directamente desde el origen de datos.

Consulte también

Se aplica a

.NET Framework 4.8.1 e outras versións
Produto Versións
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

CreateChildControls(IEnumerable, Boolean)

Cuando se reemplaza en una clase abstracta, crea la jerarquía de controles que se utiliza para procesar un control compuesto enlazado a datos basándose en los valores del origen de datos especificado.

C#
protected abstract int CreateChildControls(System.Collections.IEnumerable dataSource, bool dataBinding);

Parámetros

dataSource
IEnumerable

Una interfaz IEnumerable que contiene los valores para enlazarse al control.

dataBinding
Boolean

Es true para indicar que el método CreateChildControls(IEnumerable, Boolean) recibe una llamada durante el enlace de datos; de lo contrario, es false.

Devoluciones

Número de elementos creados por el método CreateChildControls(IEnumerable, Boolean).

Ejemplos

En el ejemplo de código siguiente se muestra cómo invalidar el CreateChildControls(IEnumerable, Boolean) método en un control personalizado para crear la jerarquía de controles.

C#
using System;
using System.Collections;
using System.Data.Common;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Samples.AspNet.CS
{
    public class SimpleSpreadsheetControl : CompositeDataBoundControl
    {
        protected Table table = new Table();

        public virtual TableRowCollection Rows
        {
            get
            {
                return table.Rows;
            }
        }

        protected override int CreateChildControls(IEnumerable dataSource, bool dataBinding)
        {

            int count = 0;
            // If dataSource is not null, iterate through it and
            // extract each element from it as a row, then
            // create a SimpleSpreadsheetRow and add it to the
            // rows collection.
            if (dataSource != null)
            {

                SimpleSpreadsheetRow row;
                IEnumerator e = dataSource.GetEnumerator();

                while (e.MoveNext())
                {
                    object datarow = e.Current;
                    row = new SimpleSpreadsheetRow(count, datarow);
                    this.Rows.Add(row);
                    ++count;
                }

                Controls.Add(table);
            }
            return count;
        }
    }

    //
    //
    public class SimpleSpreadsheetRow : TableRow, IDataItemContainer
    {
        private object data;
        private int _itemIndex;

        public SimpleSpreadsheetRow(int itemIndex, object o)
        {
            data = o;
            _itemIndex = itemIndex;
        }

        public virtual object Data
        {
            get
            {
                return data;
            }
        }
        object IDataItemContainer.DataItem
        {
            get
            {
                return Data;
            }
        }
        int IDataItemContainer.DataItemIndex
        {
            get
            {
                return _itemIndex;
            }
        }
        int IDataItemContainer.DisplayIndex
        {
            get
            {
                return _itemIndex;
            }
        }
        protected override void RenderContents(HtmlTextWriter writer)
        {

            if (Data != null)
            {
                if (Data is System.Data.Common.DbDataRecord)
                {
                    DbDataRecord temp = (DbDataRecord)Data;
                    for (int i = 0; i < temp.FieldCount; ++i)
                    {
                        writer.Write("<TD>");
                        writer.Write(temp.GetValue(i).ToString());
                        writer.Write("</TD>");
                    }
                }
                else
                {
                    writer.Write("<TD>" + Data.ToString() + "</TD>");
                }
            }

            else
            {
                writer.Write("<TD>This is a test</TD>");
            }
        }
    }
}

Comentarios

El CreateChildControls() método es un método auxiliar que usan las clases que derivan de la CompositeDataBoundControl clase para crear la jerarquía de controles para un control compuesto enlazado a datos. Al extender la CompositeDataBoundControl clase, debe invalidar el CreateChildControls() método para crear su propia jerarquía de controles. Para obtener más información sobre cómo crear un control compuesto, vea Developing Custom ASP.NET Server Controls.

Consulte también

Se aplica a

.NET Framework 4.8.1 e outras versións
Produto Versións
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1