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.
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


0