Este tema aún no ha recibido ninguna valoración - Valorar este tema

DataBoundControl.PerformDataBinding (Método)

Cuando se reemplaza en una clase derivada, enlaza los datos del origen de datos al control.

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

protected internal virtual void PerformDataBinding (
	IEnumerable data
)
protected void PerformDataBinding (
	IEnumerable data
)
protected internal function PerformDataBinding (
	data : IEnumerable
)
No aplicable.

Parámetros

data

La lista IEnumerable de los datos devueltos por una llamada al método PerformSelect.

Implemente este método en lugar del método DataBind cuando derive un control enlazado a datos de la clase DataBoundControl. Si coloca la lógica de enlace a datos de su control en PerformDataBinding, podrá evitar que se generen los eventos DataBinding y DataBound en el orden incorrecto.

Aunque la clase base DataBoundControl no proporciona una implementación concreta de este método, el método PerformSelect llama al método PerformDataBinding para enlazar los valores de cualesquiera controles de interfaz de usuario a los datos que recupera el método PerformSelect.

En el ejemplo de código siguiente se muestra cómo implementar el método PerformDataBinding en una clase derivada de DataBoundControl. El control TextBoxSet crea un control TextBox para cada elemento de datos al que se enlaza. Este ejemplo de código forma parte de un ejemplo más extenso referente a la clase DataBoundControl.

protected override void PerformDataBinding(IEnumerable retrievedData) {
    base.PerformDataBinding(retrievedData);

    // If the data is retrieved from an IDataSource as an 
    // IEnumerable collection, attempt to bind its values to a 
    // set of TextBox controls.
    if (retrievedData != null) {

        foreach (object dataItem in retrievedData) {
            
            TextBox box = new TextBox();
            
            // The dataItem is not just a string, but potentially
            // a System.Data.DataRowView or some other container. 
            // If DataTextField is set, use it to determine which 
            // field to render. Otherwise, use the first field.                    
            if (DataTextField.Length > 0) {
                box.Text = DataBinder.GetPropertyValue(dataItem, 
                    DataTextField, null);
            }
            else {
                PropertyDescriptorCollection props = 
                    TypeDescriptor.GetProperties(dataItem);

                // Set the "default" value of the TextBox.
                box.Text = String.Empty;
                
                // Set the true data-bound value of the TextBox,
                // if possible.
                if (props.Count >= 1) {                        
                    if (null != props[0].GetValue(dataItem)) {
                        box.Text = props[0].GetValue(dataItem).ToString();
                    }
                }
            }                                        
            
            BoxSet.Add(box);
        }
    }
}

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
¿Te ha resultado útil?
(Caracteres restantes: 1500)
© 2013 Microsoft. Reservados todos los derechos.