Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/06/2005, 01:54
Laurichu
 
Fecha de Ingreso: abril-2005
Mensajes: 63
Antigüedad: 19 años, 10 meses
Puntos: 0
hola,

efectivamente, hago un clear y un fill después del update. El problema es que tengo otra tabla relacionada con esta, y si no hago de nuevo el fill, al intentar añadir un registro de la tabla relacionada, me da un error (dice que la clave está a null). No se si es que con el bindingManager.addNew() no se actualiza bien la tabla padre o que. Resumo cómo lo tengo (muy simplificado, claro):

Creación del dataset:
Código:
adaptador1.Fill(miDataSet, "principal")
adaptador2.Fill(miDataSet, "secundarial")
miDataSet.Relations.Add("relacion1", miDataSet.Tables("principal").Columns("id"), miDataSet.Tables("secundaria").Columns("id_ppal"))
Enlace al formulario:
Código:
enlace = New Binding("Text", miDataSet, principal.id")
TBox1.DataBindings.Add(enlace)
enlace = Nothing
enlace = New Binding("Text", miDataSet, principal.otroCampo")
TBox2.DataBindings.Add(enlace)
enlace = Nothing
enlace = New Binding("Text", miDataSet, secundaria.campoNoId")
TBox3.DataBindings.Add(enlace)
enlace = Nothing
miBindingManagerBase1 = BindingContext(miDataSet, "principal")
miBindingManagerBase2 = BindingContext(miDataSet, "principal.relacion")
Código del botón actualizar (cuando se rellena tbox1 y tbox2)
Código:
miBindingManagerBAse1.EndCurrentEdit()
adaptador1.update(miDataSet.tables("principal"))
miDataSet.clear()
adaptador1.Fill(miDataSet, "principal")
adaptador2.Fill(miDataSet, "secundarial")
Código del botón actualizar (cuando se rellena tbox3). Da error si se hace justo después de añadir un registro en principal sin llamar a clear y a fill (por eso los pongo)
Código:
miBindingManagerBase2.EndCurrentEdit()
adaptador2.update(miDataSet.tables("secundaria"))
En enlace se pierde en el textChanged del TBox2, en el que hago una operación del tipo tboxn.text = "algo". Lo curioso es que solo se pierde el enlace de algunos controles, no de todos

En fin, muchas gracias.

Última edición por Laurichu; 28/06/2005 a las 02:36