Form y Grid Actualizables
Publicado por Pablo (Argentina) (433 intervenciones) el 20/05/2009 02:02:21
Hola Amigos, Yo de nuevo, ja. A ver les cuento 2 situacion y a ver si me pueden ayudar y aconsejar cual es la mejor forma para trabajar con esto.
Primero: Tengo un Form con 3 tablas de las cuales 1 esta relacionada con las otras 2 ahora bien en el form tambien tengo un grid en el cual yo muestro los datos filtrados usando el comando set filter y veo los datos correctamente en el grid.
Lo que quiero saber es como hacer para poder EDITAR el grid para modificar algunos datos y despues poder GRABAR esos cambios o sino quiero hacer nada poder REVERTIR lo hecho. Actualmente como no se como hacerlo que hice, Utilizo el PICBTNS de la clase WIZSTYLE y listo es una forma facil de hacer todo lo que dije, pero obviamente tiene sus contras porque no puedo saber otras cosas como ser que moviemiento hicieron en el grid ¿me explico? entonces lo que yo quiero es poder usar botones de comando u alguna otra forma que uds me aconsejen para poder hacer ese tipo de cosas ¿Se entendio?. en modo reducido lo que quiero hacer es poder reemplazar el PICBTNS y poder hacer lo mismo, si me pueden ayudar.
Segundo: esta es mas corta que el testamento de arriba, jajajaja, yo en el form que es el mismo de arriba, utilizo mucho el set filter y me parece que no es lo adecuado, veo que se usa mucho el SQL o Select. ¿que es mejor para filtrar una tabla y obtener datos para mostrarlos en el grid.
LOCAL cDisplayValue
LOCAL cDisplayValue,cCountryName
cDisplayValue = ALLTRIM(THIS.DisplayValue)
THIS.SelLength = 0
IF EMPTY(m.cDisplayValue)
RETURN
ENDIF
THISFORM.LockScreen = .T.
SELECT * FROM stock ;
WHERE UPPER(ALLTRIM(stock.codigo)) = UPPER(ALLTRIM(THIS.Value));
.and. factura = " " .and. pin <> "0001" into CURSOR Custs
thisform.grdcust.recordsource = "Custs"
este codigo esta puesto en un Combox y actualiza el grid, pero la primera vez funciona bien, las demas veces funciona tambien pero en el grid, me junta todas las columnas y no se lee nada porque pasa eso?
Bueno, se que pido mucho y es muy lago lo que escribi pero bueno, espero me guien para saber como es este tema.
desde ya muchas gracias a todos
Primero: Tengo un Form con 3 tablas de las cuales 1 esta relacionada con las otras 2 ahora bien en el form tambien tengo un grid en el cual yo muestro los datos filtrados usando el comando set filter y veo los datos correctamente en el grid.
Lo que quiero saber es como hacer para poder EDITAR el grid para modificar algunos datos y despues poder GRABAR esos cambios o sino quiero hacer nada poder REVERTIR lo hecho. Actualmente como no se como hacerlo que hice, Utilizo el PICBTNS de la clase WIZSTYLE y listo es una forma facil de hacer todo lo que dije, pero obviamente tiene sus contras porque no puedo saber otras cosas como ser que moviemiento hicieron en el grid ¿me explico? entonces lo que yo quiero es poder usar botones de comando u alguna otra forma que uds me aconsejen para poder hacer ese tipo de cosas ¿Se entendio?. en modo reducido lo que quiero hacer es poder reemplazar el PICBTNS y poder hacer lo mismo, si me pueden ayudar.
Segundo: esta es mas corta que el testamento de arriba, jajajaja, yo en el form que es el mismo de arriba, utilizo mucho el set filter y me parece que no es lo adecuado, veo que se usa mucho el SQL o Select. ¿que es mejor para filtrar una tabla y obtener datos para mostrarlos en el grid.
LOCAL cDisplayValue
LOCAL cDisplayValue,cCountryName
cDisplayValue = ALLTRIM(THIS.DisplayValue)
THIS.SelLength = 0
IF EMPTY(m.cDisplayValue)
RETURN
ENDIF
THISFORM.LockScreen = .T.
SELECT * FROM stock ;
WHERE UPPER(ALLTRIM(stock.codigo)) = UPPER(ALLTRIM(THIS.Value));
.and. factura = " " .and. pin <> "0001" into CURSOR Custs
thisform.grdcust.recordsource = "Custs"
este codigo esta puesto en un Combox y actualiza el grid, pero la primera vez funciona bien, las demas veces funciona tambien pero en el grid, me junta todas las columnas y no se lee nada porque pasa eso?
Bueno, se que pido mucho y es muy lago lo que escribi pero bueno, espero me guien para saber como es este tema.
desde ya muchas gracias a todos
Valora esta pregunta


0