Redraw a MSHFlexGrid jerarquico

18/07/2003 - 02:29 por Heich | Informe spam
Ante todo gracias por leer.

Tengo un recordset jerarquico de tres niveles, mediante comandos SHAPE, ADO

TablaParent.*
IDParent
|
+-TablaChild1.*
IdChild1
|
+-tablaChild2.*
desde donde tomo TablaChild1(con su respectivo TablaChild2) en otro
Recordset y enlazo mi MshFlexgrid al mismo:

set ChildRecset=ParentRecset.Fields("TablaChild1").Value '(1)
Set FlexChild.DataSource=ChildRecset
todo bien hasta aqui, hago actualizaciones e inserto datos sobre ChildRecset
y actualizo el DataSource del FlexChild para refrescar la pantalla:

ChildRecset.Addnew ( o Update)


ChildRecset.Update
Set FlexChild.Datasource=nothing
doevents
Set FlexChild.DataSource=ChildRecset '(2)

si ChildRecset no esta vacio al momento de establecerlo en (1), el FlexChild
actualiza perfecto, pero

si ChildRecset esta vacio y le agrego un registro, al hacer la actualizacion
de FlexChild en el paso (2), este se cuelga y no hace el Refresh
Lo curioso es, si reviso mediante la ventana de depuracion, el ChildRecset
contiene los datos recien insertados, el FlexChild tiene el numero de
filas correcto, y, los datos estan almacenados en su cuadricula (comprobado
mediante TextMatrix en la misma ventana de depuracion), pero esta no se ve,


Que sucede? alguna idea?
He probado con la propiedad Redraw a false y despues a True, ClearStructure,
Clear, He eliminado el MshFlexGrid y vuelto a cargar, ya Reinstale el SP5,
ya recorri 25 paginas de Google buscando por MSHFLEXGRID, ya explote la MSDN
hasta donde pude, y nada.

Gracias, y saludos

Heich
-
Recuerda que siempre la solucion a un problema es la ultima que analizas...
 

Leer las respuestas

#1 Sashka
18/07/2003 - 04:07 | Informe spam
No sé ... no me queda muy claro lo que haces

Pero por lo que capto. yo trabajaría con un control ADODC...

set ChildRecset=ParentRecset.Fields("TablaChild1").Value '(1)
set ADO1.recordset = ChildRecset

Set FlexChild.DataSource­O1



Set FlexChild.Datasource=nothing
doevents
Set FlexChild.DataSource­O1


Sashka


"Heich" escribió en el mensaje
news:
Ante todo gracias por leer.

Tengo un recordset jerarquico de tres niveles, mediante comandos SHAPE,


ADO

TablaParent.*
IDParent
|
+-TablaChild1.*
IdChild1
|
+-tablaChild2.*
desde donde tomo TablaChild1(con su respectivo TablaChild2) en otro
Recordset y enlazo mi MshFlexgrid al mismo:

set ChildRecset=ParentRecset.Fields("TablaChild1").Value '(1)
Set FlexChild.DataSource=ChildRecset
todo bien hasta aqui, hago actualizaciones e inserto datos sobre


ChildRecset
y actualizo el DataSource del FlexChild para refrescar la pantalla:

ChildRecset.Addnew ( o Update)


ChildRecset.Update
Set FlexChild.Datasource=nothing
doevents
Set FlexChild.DataSource=ChildRecset '(2)

si ChildRecset no esta vacio al momento de establecerlo en (1), el


FlexChild
actualiza perfecto, pero

si ChildRecset esta vacio y le agrego un registro, al hacer la


actualizacion
de FlexChild en el paso (2), este se cuelga y no hace el Refresh
Lo curioso es, si reviso mediante la ventana de depuracion, el ChildRecset
contiene los datos recien insertados, el FlexChild tiene el numero de
filas correcto, y, los datos estan almacenados en su cuadricula


(comprobado
mediante TextMatrix en la misma ventana de depuracion), pero esta no se


ve,


Que sucede? alguna idea?
He probado con la propiedad Redraw a false y despues a True,


ClearStructure,
Clear, He eliminado el MshFlexGrid y vuelto a cargar, ya Reinstale el SP5,
ya recorri 25 paginas de Google buscando por MSHFLEXGRID, ya explote la


MSDN
hasta donde pude, y nada.

Gracias, y saludos

Heich
Recuerda que siempre la solucion a un problema es la ultima que


analizas...


Preguntas similares