FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour EDITAR CELDAS EN XBROWSE CON QUERY Y TDOLPHIN
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
EDITAR CELDAS EN XBROWSE CON QUERY Y TDOLPHIN
Posted: Fri Jan 25, 2013 05:06 AM
Saludos, mi duda es la siguente, tengo un xbrowse que lo alimentaba con un array, cuando queria insertar filas usaba
AADD( oBrw:aArrayData , { "E", DATE(), SPACE(10), SPACE(30), , , 0.00, , } ), ahora elimine el array y uso un query directo con la clase tdolphin, he intentado varias formas y aunque me hace la edicion de celdas, no me crea la linea en blanco como un registro nuevo, probe con oQryCJ:GoBottom(); oQryCJ:GetBlankRow(); oQryCJ:REFRESH(); oBrw:REFRESH(), y nada, si alguien podria darme una ayuda y como usar la edicion y on posedit con query, asi tengo mis columnas en estos momentos, gracias, saludos... :-)

oQryCJ:GOTOP(); oQryCJ:REFRESH()

aCaja := { "caj_tipomovi", "caj_fch_caja", "caj_referencia" ,;
"caj_nombre", "caj_codiconcepto", "caj_tipoes" ,;
"caj_mtomovi", "caj_origen" }

oBrw := TXBrowse():New( oFldx:aDialogs[1] )

WITH OBJECT oBrw
:SetDolphin( oQryCJ, .t., .t., aCaja )
:nMarqueeStyle := MARQSTYLE_HIGHLCELL
:nColDividerStyle := LINESTYLE_BLACK
:nStretchCol := STRETCHCOL_LAST
:bRClicked := {|| msginfo( "pulsastes boton derecho..." ) } // LLAMA MENU-POPUP CON BOTON DERECHO
:lColDividerComplete := .t.
:nHeaderHeight := 30 // ANCHO CABEZERA
:l2007 := .t.
:lFooter := .t.
:lRecordSelector := .t. // SI/NO 1RA.COL.IZQ.QUE TIENE LA FLECHITA NEGRA
:lAllowColHiding := .f. // SI/NO BOTON DERECHO SOBRE CABEZERA, MUESTRE ARRAY COL.
:lAllowColSwapping := .f. // SI/NO INTERCAMBIAR COL.
:bClrStd := {|| IF( oQryCJ:RecNo() % 2 == 0, {CLR_BLACK, CLR_WHITE}, {0, RGB(203, 226, 254)} ) }
:bKeyDown := {| nKey | teclado( nKey, oBrw, aVar, aGet, oQryCJ ) } // CONTROLA VIRTUAL KEY
:lFastEdit := .t. // OBLIDADO PARA EDICION DE CELDA
***:bPastEof := { || addrow( oBrw ) } // HACE EDICION DE CELDA AUTOMATICAMENTE CON FLECHA ABAJO...

END WITH

WITH OBJECT oBrw:aCols[1] // TIPO MOVIMIENTO(TM)
:cHeader := "TM"
:bStrData := {|| IIF( oQryCJ:LastRec() == 0, SPACE(10) ,;
oQryCJ:caj_tipomovi ) }
:nWidth := 50
:cToolTip := "Tipo Movimiento Ingreso/Egreso"
:nEditType := EDIT_LISTBOX
:aEditListTxt := aTipoEI
*** :aEditListBound
*** :bEditWhen := {|| IF( oQryCJ:caj_origen = "CAJ" .or. ;
*** EMPTY( oQryCJ:caj_origen ), .t., .f. ) }
:bOnPostEdit := { | oCol, xVal, nKey | If( nKey <> VK_ESCAPE ,;
( oCol:value := xVal ,;
IF( xVal == "E" ,;
oQryCJ:caj_tipomovi := "EFE", ) ,;
), ) }
END WITH

WITH OBJECT oBrw:aCols[2] // FCH.MOV.
:cHeader := "FECHA"
:bStrData := {|| IIF( oQryCJ:LastRec() == 0, SPACE(10) ,;
oQryCJ:caj_fch_caja ) }
:nWidth := 100
:nEditType := EDIT_GET
* :bEditWhen := {|| IF( EMPTY( aItems[oBrw:nArrayAt, 1] ), .f., .t. ) }
*** :bEditWhen := {|| IF( oQryCJ:caj_origen = "CAJ" .or. ;
*** EMPTY( oQryCJ:caj_origen ), .t., .f. ) }
:bOnPostEdit := { | oCol, xVal, nKey | If( nKey <> VK_ESCAPE ,;
( oCol:value := xVal ), ) }
:nHeadStrAlign := AL_CENTER
:nDataStrAlign := AL_CENTER

END WITH

WITH OBJECT oBrw:aCols[3] // REFERENCIA
:cHeader := "REFERENCIA"
:bStrData := {|| IIF( oQryCJ:LastRec() == 0, SPACE(10) ,;
oQryCJ:caj_referencia ) }
:nWidth := 100
:nEditType := EDIT_GET
* :bEditWhen := {|| IF( EMPTY( aItems[oBrw:nArrayAt, 1] ), .f., .t. ) }
*** :bEditWhen := {|| IF( oQryCJ:caj_origen = "CAJ" .or. ;
*** EMPTY( oQryCJ:caj_origen ), .t., .f. ) }
:bOnPostEdit := { | oCol, xVal, nKey | If( nKey <> VK_ESCAPE ,;
( oCol:value := xVal ), ) }
END WITH

WITH OBJECT oBrw:aCols[4] // DESCRIPCION MOV.
:cHeader := "DESCRIPCIÓN"
:bStrData := {|| IIF( oQryCJ:LastRec() == 0, SPACE(10) ,;
IIF(oQryCJ:caj_origen <> "DEP" ,;
oQryCJ:caj_nombre, "Depósitado en " + oQryCJ:caj_nombre ) ) }
:nWidth := 170
:nEditType := EDIT_GET
* :bEditWhen := {|| IF( EMPTY( aItems[oBrw:nArrayAt, 1] ), .f., .t. ) }
*** :bEditWhen := {|| IF( oQryCJ:caj_origen = "CAJ" .or. ;
*** EMPTY( oQryCJ:caj_origen ), .t., .f. ) }
:bOnPostEdit := { | oCol, xVal, nKey | If( nKey <> VK_ESCAPE ,;
( oCol:value := xVal ), ) }
END WITH .
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: EDITAR CELDAS EN XBROWSE CON QUERY Y TDOLPHIN
Posted: Fri Jan 25, 2013 12:32 PM

Jose Luis

en el postedit debes actualizar el registro, bien sea por un "save" o "update"

Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: EDITAR CELDAS EN XBROWSE CON QUERY Y TDOLPHIN
Posted: Fri Jan 25, 2013 02:08 PM
Buen dia Daniel y gracias por responder tan pronto, pero creo no me supe explicar, como dicen que una imagen dice mas que mil palabras, aca agrego lo que hago con el xbrowse cuando tengo array y que es lo que quiero hacer cuando tengo un query, el detalle esta es EN LA EDICION DE LOS CAMPOS o esa linea en blanco para agregar los datos del registro nuevo directamente con un query, gracias y saludos... :-)

CON UN ARRAY:



Uploaded with ImageShack.us


CON EL QUERY:



Uploaded with ImageShack.us
Dios no está muerto...



Gracias a mi Dios ante todo!

Continue the discussion