Hola Xevi al final revisando un codigo viejo lo deje asi:
METHOD TBColumn1PostEdit( oSender, Value, lCanceled, nKey ) CLASS
tEditarVentas2
local i
i:=nKey /// DEBUG
if !lCanceled .and. !empty(Value)
Value:=CheckProductoEnBrowse(::oBd,Value,Self)
if ::SetProducto(Value,::oTB:nArrayAt,nKey)
::cCampoActItems:='CODIGO'
endif
endif
::CalculaTotales()
RETURN Nil
y en el
METHOD TBKeyUp( oSender, nKey, nFlags ) CLASS tEditarVentas2
local cKey:='', xRet, lEditaDesc, nRubro
if !empty(::cCampoActItems)
lEditaDesc:=EsProdComodin(::oTB:aArrayData[::oTB:nArrayAt][p ITEMS_CODIGO])
nRubro
:=DataFieldSQL('Productos','Rubro','IdProducto',::oTB:aArray Data[::oTB:nArrayAt][pITEMS_CODIGO],-1)
endif
if nKey==13
do case
case ::cCampoActItems=='CODIGO'
do case
#IFDEF pBAJALINEA_VTA
case !lEditaDesc .and. nRubro<>RubroCombustible() .and. ;
abs(::oTB:aArrayData[::oTB:nArrayAt][pITEMS_CANTIDAD])>0
..and. ;
abs(::oTB:aArrayData[::oTB:nArrayAt][pITEMS_NETO ])>0
..and. ;
!empty(::oTB:aArrayData[::oTB:nArrayAt][pITEMS_CODIGO])
::btAgregarClick(.F.)
#ENDIF
case lEditaDesc
::oTB:nColSel:=2
::oTB:Refresh()
otherwise
::oTB:nColSel:=3
::oTB:Refresh()
endcase
case ::cCampoActItems=='DESCRIPCION'
::oTB:nColSel:=3
::oTB:Refresh()
case ::cCampoActItems=='CANTIDAD'
::oTB:nColSel:=4
::oTB:Refresh()
case ::cCampoActItems=='UNITARIO'
::oTB:nColSel:=5
::oTB:Refresh()
case ::cCampoActItems=='NETO'
::btAgregarClick(.F.)
endcase
endif
::cCampoActItems:=''
RETURN(xRet)
y me funciona muy bien, siempre que modifique el nColSel me hacia cosas
muy extrañas como marcarme varias celdas en fin
El 06/12/2012 01:47 p.m., Xevi escribió:
> Perdón...
>
> He revisado mi código... y si bien si funcionaba antes asignar nColSel,
> ahora lo he cambiado por el envio de la tecla RETURN, que el evento
> OnKeyDown del Browse tengo asociado el cambio de columna con SelectCo()
>
> O sea... que nColSel no establece la columna activa (como en Xailer 2.1),
> para establecer o cambiar de columna activa hay que utilizar SelectCol()
>
> ::MiBowse:SelectCol( n )
>
>
>
> Un Saludo,
> Xevi.
>
>
> "Xevi"<
xevicomas@gmail.com> ha escrit al missatge del grup de discussió:
> 50c0b9cb$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Christian,
>>
>> yo también me he topado con este "cambio" de comportamiento del Browse en
>> la versión 2.7.
>> No lo he posteado por no saber si se trataba de una mala programación por
>> mi parte... pero visto que no soy el único que se ha topado con ello...
>> Mi solución (no se si será temporal) a sido...
>>
>> ::oMiBrowse:PostMsg( WM_KEYDOWN, VK_RETURN )
>>
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Christian R.Assenza"<
christianassenza@yahoo.com.ar> ha escrit al
>> missatge del grup de discussió: 50c077a1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>> Hola a todos en mis programas en el tArrayBrowse cuando edito una columna
>>> si el operador presiona ENTER lo paso automaticamente a la columna
>>> siguiente o la otra o baja la fila, para eso en el OnPostEdit de la
>>> columna escribo lo siguiente:
>>>
>>> if nKey==K_ENTER
>>> ::oTB:nColSel:=pITEM_CANTIDAD
>>> endif
>>>
>>> el tema es que desde que instale la version 2.7.4 no me refresca la fila
>>> cuando el operador pone el codigo de producto le pongo la descripcion y
>>> precio y no lo refresca. Cual es la mejor forma de hacer eso ? pasar a la
>>> siguiente columna o siguiente fila y para refrescar la fila
>>>
>>> Gracias
>>>
>>>
>>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>>> firmas de virus 7773 (20121206) __________
>>>
>>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>>
>>>
http://www.eset.com
>>>
>>>
>>>
>>
>>
>>
>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>> firmas de virus 7773 (20121206) __________
>>
>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>
>>
http://www.eset.com
>>
>>
>>
>>
>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de firmas
> de virus 7773 (20121206) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
>
http://www.eset.com
>
>
>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 7773 (20121206) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
>
http://www.eset.com
>
>
>
>