Vous êtes sur la page 1sur 8

Databinding

Databinding es una caracterstica del Framework .NET que permite que elementos visuales estn conectados a datasources tales como dataset o dataview. Estos elementos pueden ser Textbox, Datagrid, etc. Es una conexin de ida y vuelta en la cual cualquier cambio efectuado en cualquiera de los dos estar reflejado automticamente

Ventajas del Databinding 1. Databinding facilita desarrollar aplicaciones ms rpidamente ya que se escribe mucho menos cdigo para desarrollar una aplicacin. 2. .NET automticamente escribe cdigo databinding en el fondo (se puede ver en la parte Windows Generated Code). Aqu podremos modificar el cdigo segn nos sea necesario 3. Se controla el proceso de databinding con los eventos Desventajas del Databing 1. Se podra escribir cdigo ms optimizado 2. Para obtener un cdigo flexible se debera tener los datos desenlazados. Los controles de .NET puede tener muchas propiedades que puede ser enlazadas a un DataSource. Cada una de las propiedades enlazadas a datos (databound) tiene una objeto binding (lazo). Ya que un control puede tener muchos objetos binding el control tiene una coleccin (instancia de ControlBindings Collection class) de todos los objetos binding. Es importante saber que propiedades del mismo control pueden ser enlazadas a diferentes datasources. Cada uno de los objetos enlazados se comunica a un CurrencyManager o a un PropertyManager. CurrencyManager y PropertyManager derivan de la clase base BindingManagerBase. El propsito de la clase BindingManagerBase es mantener la concurrencia entre el datasource y el control. El currencyManager se implementa cuando el datasource implementa la interface ILIST, tales como Dataview, Dataset, Arraylist. El PropertyManager se usa cuando el datasource es una instancia de un clase definida por el usuario. La propiedad del control esta enlazada con la propiedad expuesta por este objeto. PropertyManager solo se usa para simple databinding. En un enlazado simple de datos (Property Manager) solo un valor puede verse por un control cada vez, por ejemplo un TextBox. En Databinding complejo (CurrencyManager) ms de un valor del DataSource puede verse (Datagrid).

Como regla si se quiere usar la clase como un dataSource se debe usar CurrencyManager, la clase es un contenedor de datos. Sin embargo si lo que se quiere es enlazar las propiedades expuestas por la clase se debe de usar el propertyManager. Ya que un formulario puede contener muchos controles y cada uno enlazada a un datasource diferente, una clase se necesita para manejar el objeto currencyManager y el PropertyManager. Por lo tanto cada form de Windows tiene un objeto BindingContext asociado con el. El objeto BindingContext es una colleccin de objetos CurrencyManager y PropertyManagers. En resumen: Un control puede tener muchas propiedades que se pueden enlazar Cada propiedad databound del control tienen un objeto binding asociado Todos los objetos binding estn controlados por la propiedad del control databinding que es una instancia de la clase ControlBindingCollection. Cada objeto databinding se comunica con el objeto currencyManager o PropertyManager. CurrencyManager y PropertyManager derivan de la clase BindingManagerBase El Objeto BindingContext es una collecin de objetos CurrencyManager y PropertyManager. Por defecto un formulario contiene un objeto BindingContext. Ms objetos BindingManagerBase son creados y aadidos a la coleccin BindingContext. Cada CurrencyManager o PropertyManager encapsulan el acceso a datos a un datasource por objeto BindingContext .

Binding con los formularios sin bindingContext En el framework .Net cualquier propiedad que contenga un simple control puede ser simple-enlazado con un valor en un datasource. Binding se puede realizar en diseo o en ejecucin. En cualquier de las dos situaciones se debe especificar tres valores: el nombre de la propiedad a enlazar, el datasource y un una ruta de navegacin dentro del datasource a un nico valor. La ruta de navegacin consiste en un jerarqua delimitado por nombres. Por ejemplo, para referenciar la columna idProducto de la tabla producto, la ruta de navegacin seria Productos.ProductoID. La pantalla de propiedades de Visual Studio .NET contiene una seccin de Data Bindings en la que se visualizan las propiedades que ms normalmente se enlazan. Otras propiedades se pueden obtener a travs de la seccin avanzada.

Enlazar una propiedad 1. Seleccionar el control 2. En la ventana de propiedades seleccionar databindings y buscar el datasource 3. Enlazar el control con la propiedad de datos que se desee Enlazar en tiempo de ejecucin un simple binding Este cdigo primero declara un nuevo objeto binding, despus lo inicializa pasando el nombre de la propiedad, el datasource y la ruta de la propiedad al constructor. Finalmente se aade a la coleccin usando el add method. Dim newBinding As System.Windows.Forms.Binding newBinding = New system.Windows.Forms.Binding("Text", Me.dsMaster1,Categories.Description") Me.tbCategoryDescription.DataBindings.Add(newBinding) Binding Complejos Los controles enlazados complejos contienen mltiples datos. Los ejemplos ms comunes de binding complejos son Listbox o Combobox pero cualquier control que permita valores mltiples puede ser enlazado complejamente. Lo ms normal es que los controles se enlacen con la propiedad datasource directamente. Los ms comunes de los controles enlazados como son el listbox, datagrid, combo tambin exponen un Display Member property, que determina que enseara el control. En el caso de un listbox o combobox la propiedad display member se resigna a un valor mientras que el datagrid pueden ser mltiples valores por ejemplo todos los valores de un datatable. Enlazar con propiedades 1. Seleccionar el control 2. En la ventana de propiedades seleccionar dataSorce 3. Enlazar el control con la propiedad de datos que se desee Enlazar en tiempo de ejecucin Me.DataGrid1.DataSource=me.DataSet11 Con CurrencyManager El objeto currenyManager es fundamental para el databinding. A travs de sus propiedades y mtodos y eventos el objeto CurrencyManager controla el enlace entre el origen de los datos y los controles en los que se visualizan los datos. Las propiedades del CurrencyManager son: 1. Bindings: La coleccin de objetos enlazados que controles el currencymanager 2. Count: El nmero de rows manejado por el currencyManager 3. Current: El valor de objeto actual del origen de datos

4. List: La lista controlada por el currencyMager 5. Position: Especifica la posicin dentro del currencyManager Las propiedades bindings y list definen la relacin entre el origen de datos y los controles enlazados. Las propiedades enlazadas, las cuales devuelven un objeto de tipo BindingsCollection, contienen el objeto enlazada para cada propiedad de control individual que esta enlazada al origen de datos. La propiedad list devuelve una referencia al origen de datos que es controlada por el CurrencyManager. La propiedad lista devuelve una referencia a la interface IList. La propiedad de Count devuelve el nmero de rows controlada por el currencyManager La propiedad Current devuelve el valor de la row actual es read only La propiedad position accede a un registro en el currencyManager y nos permite modificar el registro, lo mismo que current pero sin ser readOnly

Propiedades del objeto binding Las propiedades son todas read-only BindingManagerBase: Controla el objeto binding, devuelve el CurrencyManager o el propertyManager que controla el objeto binding. BindingMemberInfo: Devuelve informacin acerca de este objeto basado en el DataMember especificado por le constructor. Devuelve tambin la ruta de navegacin BindingField: La propiedad de origen de datos especificada por la ruta de navegacin BindingMember: La ruta completa del objeto binding, Categories.CategoryProducts.ProductID BindingPath: La ruta, sin incluir, hasta el datasource "Categories.CategoryProducts." Control: El control enlazado DataSource: El datasource del enlace IsBinding: Inidica si el control esta enlazado. Devuelve siempre true si no se ha llamado a SuspendBinding PropertyName: La propiedad enlazada al control

Eventos del objeto Binding Los eventos del objeto binding son format and parse. Se usan para controlar como son los datos presentados al usuario.

Format: Ocurre cuando los datos se pasan desde el datasource al control o viceversa Parse: Ocurre cuando los datos se pasan desde el control al datasource

Dataview
Es un tipo de servicio de recuperacin de informacin en la que un suscriptor puede acceder a una base de datos remota a travs de un canal de transporte pblico, los datos de solicitar y recibir los datos solicitados en una pantalla de vdeo a travs de un canal separado. Samuel Fedida fue acreditado como el inventor del sistema. El acceso, la solicitud y la recepcin son por lo general a travs de canales comunes compaa de difusin. Esto est en contraste con teletexto.
PROPIEDADES DE DATAVIEW

Nombre Descripcin
AllowDelete AllowEdit AllowNew Establece u obtiene un valor que indica si se permite eliminar. Obtiene o establece un valor que indica si se permite editar. Obtiene o establece un valor que indica si se pueden agregar las nuevas filas mediante el mtodo AddNew. ApplyDefaultSort Obtiene o establece un valor que indica si se va a utilizar el orden predeterminado. Container Obtiene el contenedor del componente. (Se hereda de MarshalByValueComponent). Count Obtiene el nmero de registros del DataView despus de aplicar RowFilter y RowStateFilter. DataViewManager Obtiene el DataViewManager asociado a esta vista. DesignMode Obtiene un valor que indica si el componente est actualmente en modo de diseo. (Se hereda de MarshalByValueComponent). Events Obtiene la lista de controladores de eventos asociados a este componente. (Se hereda de MarshalByValueComponent). IsInitialized Obtiene un valor que indica si el componente est inicializado.

IsOpen

Obtiene un valor que indica si el origen de datos est actualmente abierto y proyectando vistas de datos en el objeto DataTable.

Item RowFilter

Obtiene una fila de datos de una tabla especificada. Obtiene o establece la expresin utilizada para filtrar las filas que se ven en el DataView.

RowStateFilter Site

Obtiene o establece el filtro de estado de fila utilizado en el DataView. Obtiene o establece el sitio del componente. (Se hereda de MarshalByValueComponent).

Sort Table

Obtiene o establece las columnas y el criterio de ordenacin de DataView. Obtiene o establece el DataTable de origen.

Mtodos
Nombre
AddNew BeginInit

Descripcin
Agrega una nueva fila a DataView. Comienza la inicializacin de un objeto DataView que se emplea en un formulario o que utiliza otro componente. La inicializacin se produce en tiempo de ejecucin.

Close ColumnCollectionChanged

Cierra DataView. Se produce despus de cambiar correctamente un objeto DataColumnCollection.

CopyTo

Copia elementos en una matriz. Slo para interfaces de formularios Web Forms.

Delete Dispose

Elimina una fila en el ndice especificado. Libera todos los recursos utilizados por el objeto MarshalByValueComponent. (Se hereda de MarshalByValueComponent).

Dispose(Boolean)

Se deshace de los recursos (distintos de la memoria) utilizados por el objeto DataView. (Invalida a MarshalByValueComponent.Dispose(Boolean)).

EndInit

Finaliza la inicializacin de un control DataView que se emplea en un formulario o que utiliza otro componente. La inicializacin se produce en tiempo de ejecucin.

Equals(DataView)

Determina si las instancias de DataView especificadas se consideran iguales.

Equals(Object)

Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).

Finalize

Permite a un objeto intentar a los recursos libres y realizar otras operaciones de la limpieza antes de ser reclamado por recoleccin de elementos no utilizados. (Se hereda de MarshalByValueComponent).

Find(Object)

Encuentra una fila en DataView mediante el valor de criterio de ordenacin especificado.

Find(Object())

Encuentra una fila en DataView mediante los valores de criterio de ordenacin especificados.

FindRows(Object)

Devuelve una matriz de objetos DataRowView cuyas columnas coinciden con el valor de criterio de ordenacin especificado.

FindRows(Object())

Devuelve una matriz de objetos DataRowView cuyas columnas coinciden con el valor de criterio de ordenacin especificado.

GetEnumerator GetHashCode

Obtiene un enumerador para este DataView. Acta como funcin hash para un tipo concreto. (Se hereda de Object).

GetService

Obtiene el implementador de IServiceProvider. (Se hereda de MarshalByValueComponent).

GetType

Obtiene el objeto Type de la instancia actual. (Se hereda de Object).

IndexListChanged

Se produce despus de cambiar correctamente un objeto

DataView. MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object). OnListChanged Open Reset ToString Provoca el evento ListChanged. Abre un objeto DataView. Reservado slo para uso interno. Devuelve un objeto String que contiene el nombre del objeto Component, en caso de que exista. Este mtodo no debe reemplazarse. (Se hereda de MarshalByValueComponent). ToTable Crea y devuelve un nuevo objeto DataTable basndose en las filas de un objeto DataView existente. ToTable(String) Crea y devuelve un nuevo objeto DataTable basndose en las filas de un objeto DataView existente. ToTable(Boolean, String()) Crea y devuelve un nuevo objeto DataTable basndose en las filas de un objeto DataView existente. ToTable(String, Boolean, String()) UpdateIndex UpdateIndex(Boolean) Crea y devuelve un nuevo objeto DataTable basndose en las filas de un objeto DataView existente. Reservado slo para uso interno. Reservado slo para uso interno.

Vous aimerez peut-être aussi