Visual Basic.NET - Problemas con el BindingManage

 
Vista:

Problemas con el BindingManage

Publicado por Marcelo (49 intervenciones) el 22/10/2007 18:08:29
Hola,
Puedo hacer un sencillo formulario de acceso: unos textbox enlazados a un dataset mediante la propiedad binding y unos botones de navegación para desplazarse por los registros. Pero al intentar filtrar el dataset con un dataview me dejan de funcionar los botones de navegación.

Pongo un ejemplo: puedo hacer un formulario con sus botones de navegación que
muestre los libros de distintos autores. Pero si lo filtro para q muestre únicamente los libros de un determinado autor me dejen de funcionar los botones de navegación.

Creo el formulario. Enlazo el dataset a la propiedad DataBindings de los textbox :

Public oBMB As BindingManagerBase

Private Sub MiForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


Dim oDataColumn As DataColumn
Dim oBind As Binding

oBind = New Binding("Text", miDataSet, "Autor")

MitextBox.DataBindings.Add(oBind)
oBMB = Me.BindingContext(miDataset, "Libros")
End Sub

Luego con el BindingManagerBase creo unos botones de navegacion.

Private Sub BSig_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BSig.Click
oBMB.Position += 1
End Sub

El caso es que si quiero crear un Dataview sobre el anterior Dataset para poder filtrar los datos (es decir, que muestre solamente los libros de un determinado autor). Puedo volver a enlazar los textbox para el Dataview pero me dejan de funcionar los botones de navegación.

1 Paso: Crear el DataView :

Dim MiDataView As New DataView(MiDataset.Tables("Libros"), _
"IdAutor=10", "", _
DataViewRowState.CurrentRows)

2 Paso: Elimino del Textbox el anterior binding:

MiTextBox.DataBindings.Clear()

3 Paso: Le asigno a la propiedad binding del TextBox el DataView :

oBind = New Binding("Text", MiDataView, "Autor")

MiTexto.DataBindings.Add(oBind)

4 Paso: En teoría solo me quedaría asignarle el DataView al BindingManagerBase para poder desplazarme por los registros:

Algo así :

oBMB = Me.BindingContext(MiDataView, "Libros")

Pero peta y el oBMB no tiene ningún método clear(). Así que no consigo tener botones de navegación.

Cualquier ayuda será muy bienvenida

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder