Tengo dos columnas con GET_EDIT y quiero que sólo una permita datos por fila.
- Code: Select all Expand view
oCol:=oBrw1:AddCol()
oCol:cEditPicture := '@Z 999,999.99'
oCol:bEditValue := { || Nuevo->DEBE }
oCol:nHeadStrAlign := AL_CENTER
oCol:cHeader := "D E B E"
oCol:nWidth:=70
oCol:nEditType :=EDIT_GET
oCol:bOnPostEdit := {|o, v, n| Nuevo->debe:=v_}
oCol:nFooterType := AGGR_SUM
oCol:=oBrw1:AddCol()
oCol:cEditPicture := '@Z 999,999.99'
oCol:bEditValue := { || Nuevo->HABER }
oCol:nHeadStrAlign := AL_CENTER
oCol:cHeader := "H A B E R"
oCol:nWidth:=70
oCol:nEditType :=EDIT_GET
oCol:bOnPostEdit := {|o, v, n| Nuevo->haber:=v }
oCol:nFooterType := AGGR_SUM
Aparte rengo un problema también en xBrowse Con bEditBlock Habilitando la pulsación de una tecla en éste caso F2
- Code: Select all Expand view
oCol:=oBrw1:AddCol()
oCol:cEditPicture := "@!"
oCol:bStrData := { || NUEVO->NROCTA }
oCol:nHeadStrAlign := AL_CENTER
oCol:cHeader := "Cuenta"
oCol:nWidth:=78
oCol:AddResource('B-F2')
oCol:nBtnBmp:= 1
oCol:nEditType:= 5
oCol:bEditBlock:= { |nRow,nCol,oCol| (BuscaCta(nRow,nCol)) }
oCol:bOnPostEdit := {|o, v, n| If(!lbdr,Nuevo->NROCTA:=v, ) }
.....
oBrw1:bKeyDown = { | nKey |If( oBrw1:nColSel == 1 .and. nKey == VK_F2, (oBrw1:SelectedCol():RunBtnAction()), )} //Con ésto al pulsar F2 va a la función BuscaCta()
Aquí la función BuscaCta()
- Code: Select all Expand view
Function BuscaCta(nRow,nCol)
Local oVar,oDlgB, oBrw3, lOk:= .F.
lbdr:=.T.
DbSelectArea("Cuentas")
dbGotop()
DEFINE DIALOG oDlgB FROM 0,0 TO 203,260 PIXEL STYLE nOr( WS_VISIBLE, WS_POPUP )
@0,0 xBrowse oBrw3 Of oDlgB AUTOSORT ALIAS "CUENTAS"
oBrw3:nMarqueeStyle:=MARQSTYLE_HIGHLROW
oBrw3:lHScroll:= .f.
oBrw3:nRowDividerStyle:= 0
oBrw3:lRecordSelector := .f.
oBrw3:bLDblClick:={ || ( SysWait(.2),__KeyBoard(Chr(13)) ) }
oCol:=oBrw3:AddCol()
oCol:bStrData := { || CUENTAS->CTA_NRO }
oCol:cHeader := "NRO"
oCol:nWidth:=75
oCol:=oBrw3:AddCol()
oCol:bStrData := { || CUENTAS->CTA_DES }
oCol:cHeader := "CUENTA"
oCol:nWidth:=235
oBrw3:CreateFromCode()
@1,41 GET oBrw3:oSeek VAR oBrw3:cSeek SIZE 45,8 PIXEL OF oDlgB PICTURE "@!" UPDATE READONLY
oBrw3:bKeyDown:= { | nKey | iif(nKey=VK_RETURN,(lOk:=.T.,oBrw3:End(),oDlgB:End()), ) }
ACTIVATE DIALOG oDlgB ON INIT (oDlgB:Move(nRow+320,378),oBrw3:Move(0,0,oDlgB:nWidth(),oDlgB:nHeight()));
VALID ( iif( lOk, (Nuevo->NROCTA:=CUENTAS->CTA_NRO), ),.T. )
Return Nil
Si doy clip al botón del bEditBlock todo funciona perfecto, el problema es cuando pulso F2, me muestra el Browse de BuscaCta pero no funciona la flecha hacia abajo lo que al parecer se ha ubicado al final, porque al pulsar flecha hacia arriba me muestra el último.
Gracias por la ayuda.