editar celda siguiente sin dar enter

Post Reply
artu01
Posts: 306
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

editar celda siguiente sin dar enter

Post by artu01 »

Foro:
doy click a la columna precio y quiero que salte al siguiente registro y se édite sin necesidad de dar enter, como es que se hace

Code: Select all


   REDEFINE XBROWSE oBrw                                           ;
      FIELDS ARTICULO->Cod                                         ;
            ,ARTICULO->DesG                                        ;
            ,Transform(ARTICULO->Pv, "999.9999")                   ;
            ," "                                                   ;
      FIELDSIZES 70, 250,120, 90, 10                               ;
      HEADERS "CODIGO"                                             ;
            ,"DESCRIPCION"                                         ;
            ,"PRECIO S/."                                          ;   //solo esta col quiero editar
            ," "                                                   ;
      ID 4001 OF oDlg                                              ;
      AUTOSORT                                                     ;
      UPDATE ;
      FASTEDIT
                                                            
    oBrw:lFastEdit:= .t.
        oBrw:nMoveType := MOVE_DOWN
    oBrw:aCols[3]:nEditType := EDIT_GET
    oBrw:aCols[3]:cDataType := "N"
    oBrw:aCols[3]:bOnPostEdit    := { | o, x, n | UpdatePrecio( x, oBrw, n) }   //,oBrw:GoDown()
    ....
    ....
return nil
Static function UpdatePrecio( x, oBrwf, n )
    local nMts
    If bloquea("ARTICULO")
      ARTICULO->pv      := val(x)
      nMts:=Round(ARTICULO->Cap*ARTICULO->conos,2)
      ARTICULO->Importe:=Round(nMts*ARTICULO->pv,2)
      ARTICULO->(dbunlock())      
      obrwf:refresh()
    endif  
return 0
 
pongo una imagen de lo que quiero
Image


Gracias
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: editar celda siguiente sin dar enter

Post by jrestojeda »

Hola,
Si no es al momento de dar Enter.
¿Cuál sería el criterio o condición para que se comience a editar la siguiente celda?

Saludos,
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
artu01
Posts: 306
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: editar celda siguiente sin dar enter

Post by artu01 »

Hola gracias por responder,
creo que no me he explicado bien, quisiera que se pueda registrar datos rápidamente en la columna precio
para ello selecciono la fila a editar el precio (eso esta Ok) luego de dar de terminar de editar quisiera que al dar
enter salte al sgte registro y sin necesidad de dar enter o doble click pueda editar esa fila (la única celda a editar de mi browse va ser la col precio)

la formula es EDITAR COL PRECIO DE FILA 1 - ENTER - EDITAR COL PRECIO DE FILA 2 - ENTER - EDITAR COL PRECIO DE FILA N - ENTER - ....

Code: Select all

   REDEFINE XBROWSE oBrw                                           ;
      FIELDS ARTICULO->Cod                                         ;
            ,ARTICULO->DesG                                        ;
            ,Transform(ARTICULO->Pv, "999.9999")                   ;
            ," "                                                   ;
      FIELDSIZES 70, 250,120, 90, 10                               ;
      HEADERS "CODIGO"                                             ;
            ,"DESCRIPCION"                                         ;
            ,"PRECIO S/."                                          ;
            ," "                                                   ;
      ID 4001 OF oDlg                                              ;
      AUTOSORT                                                     ;
      UPDATE ;
      FASTEDIT
                                                            
    oBrw:lFastEdit:= .t.
    //oBrw:nMoveType := MOVE_DOWN
    oBrw:aCols[3]:nEditType := EDIT_GET
    oBrw:aCols[3]:cDataType := "N"
    oBrw:nMarqueeStyle       := MARQSTYLE_HIGHLROW
    oBrw:aCols[3]:bOnPostEdit    := { | o, x, n | UpdatePrecio( x, oBrw, n) ,obrw:godown(),oBrw:nColSel := 3,oBrw:aCols[3]:Edit()}    
    oBrw:aCols[3]:bGetChange = {| k, f, o, oCol | If( Len( RTrim( o:oGet:Buffer ) ) == Len( o:oGet:Buffer ),;  
                                           ( o:SendMsg( WM_KEYDOWN, VK_RETURN ) ), ) }  // Esto lo saque de otro mensaje posteado pero no me trabaja

 
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

Re: editar celda siguiente sin dar enter

Post by VitalJavier »

Mira yo lo tengo asi
y no tengo la necesidad de dar enter para comenzar a editar
solo tecleo en la celda y listo

Code: Select all


oBrowA:nMarqueeStyle                := MARQSTYLE_HIGHLCELL
oBrowA:lFastEdit                        := .T.
oBrowA:aCols[01]:cEditPicture   := "@!"
oBrowA:aCols[01]:nEditType      := 1

 

Después de terminar de meter los datos si tengo que dar enter para salir
y automatico se va a la siguente celda y sin dar enter vuelvo solo a teclear
lo necesario y asi sucesivamente

Saludos.
artu01
Posts: 306
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: editar celda siguiente sin dar enter

Post by artu01 »

Ok Javier y como seria para que salte al sgte registro del xbrowse y se edite la misma columna?
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
User avatar
armando.lagunas
Posts: 340
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile
Contact:

Re: editar celda siguiente sin dar enter

Post by armando.lagunas »

xBrw:Godown( 1 ) -- uno abajo
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

Re: editar celda siguiente sin dar enter

Post by VitalJavier »

artu1
En browse que tengo para ir capturando rápidamente
En lugar de dar <Enter> al final le doy <Flecha abajo>
y listo, ya estoy en el siguiente renglón y misma columna
voy tecleando los importes flecha abajo.
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: editar celda siguiente sin dar enter

Post by nageswaragunupudi »

Please try

Code: Select all

   REDEFINE XBROWSE oBrw  ;
      DATASOURCE "ARTICULO" ; // <-- important
      COLUMNS "Cod", "Desg", "PV" ; // do not use FIELDS. 
      HEADERS "CODIGO", "DESCRIPTION", "PRECIO" ;
      PICTURES nil, nil, "999.9999" ;
      ID 4001 OF oDlg UPDATE FASTEDIT

   WITH OBJECT oBrw:aCols[ 3 ]
      :nEditType  := EDIT_GET
      :bOnChange  := { |oCol| If( oBrw:Lock(), ;
         ( ARTICULO->Importe := ROUND( ROUND( ARTICULO->CAP * ARTICULO->CONOS, 2 ) * oCol:Value, 2 ), oBrw:UnLock() ), nil ) } 
   END
 
Regards

G. N. Rao.
Hyderabad, India
Post Reply