Habr
Publicado: Mié Mar 07, 2007 1:53 pm
Hola gente,
Me gustaría hacer lo siguiente:
Con un tdbrowse y un memdataset.
En una columna permitir modificar su contenido.
Una vez han modificado el contenido, en el evento onpostchange, validar ese
cambio y, a la vez, ir a la fila anterior, modificar una columna, y volver a
la fila actual.
Algo así:
WITH OBJECT ::oDbBrowse1
:oDataSet := ::tMemDataset1
:aCol[1]:nEditType := beGET_LISTBOX
:onPostEdit := "CambiaValor"
END
METHOD CambiaValor( oSender, lCanceled, nKey ) CLASS tFrmPruebas
LOCAL nRecno, nCantidad
nRecno := ::oMemDataSet1:Recno()
nCantidad := ::oMemDataSet1:nCantidad // campo modificado (aCol[1])
:oMemDataSet1:Skip(-1) // Vamos a la fila anterior
::oMemDataSet1:nOtroCampo := nCantidad // otro campo de la fila
superior a la fila que estamos validando los cambios
::oMemDataSet1:Skip(+1) // Volvemos a la fila inicial
RETURN .T.
Sin embargo parece ser que no es el evento correcto dado que no me hace lo
que pretendo.
¿Alguien puede darme alguna pista?
Saludos y gracias,
José Luis Capel
Me gustaría hacer lo siguiente:
Con un tdbrowse y un memdataset.
En una columna permitir modificar su contenido.
Una vez han modificado el contenido, en el evento onpostchange, validar ese
cambio y, a la vez, ir a la fila anterior, modificar una columna, y volver a
la fila actual.
Algo así:
WITH OBJECT ::oDbBrowse1
:oDataSet := ::tMemDataset1
:aCol[1]:nEditType := beGET_LISTBOX
:onPostEdit := "CambiaValor"
END
METHOD CambiaValor( oSender, lCanceled, nKey ) CLASS tFrmPruebas
LOCAL nRecno, nCantidad
nRecno := ::oMemDataSet1:Recno()
nCantidad := ::oMemDataSet1:nCantidad // campo modificado (aCol[1])
:oMemDataSet1:Skip(-1) // Vamos a la fila anterior
::oMemDataSet1:nOtroCampo := nCantidad // otro campo de la fila
superior a la fila que estamos validando los cambios
::oMemDataSet1:Skip(+1) // Volvemos a la fila inicial
RETURN .T.
Sin embargo parece ser que no es el evento correcto dado que no me hace lo
que pretendo.
¿Alguien puede darme alguna pista?
Saludos y gracias,
José Luis Capel