editar celda siguiente sin dar enter

editar celda siguiente sin dar enter

Postby artu01 » Wed Mar 01, 2017 1:01 am

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  Expand view


   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
artu01
 
Posts: 400
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: editar celda siguiente sin dar enter

Postby jrestojeda » Wed Mar 01, 2017 1:50 pm

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
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: editar celda siguiente sin dar enter

Postby artu01 » Wed Mar 01, 2017 2:16 pm

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  Expand view

   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
artu01
 
Posts: 400
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: editar celda siguiente sin dar enter

Postby VitalJavier » Thu Mar 02, 2017 3:36 pm

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  Expand view


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.
User avatar
VitalJavier
 
Posts: 239
Joined: Mon Jun 10, 2013 6:40 pm

Re: editar celda siguiente sin dar enter

Postby artu01 » Fri Mar 03, 2017 8:57 pm

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
artu01
 
Posts: 400
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: editar celda siguiente sin dar enter

Postby armando.lagunas » Sat Mar 04, 2017 11:31 am

xBrw:Godown( 1 ) -- uno abajo
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: editar celda siguiente sin dar enter

Postby VitalJavier » Mon Mar 06, 2017 12:39 am

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
VitalJavier
 
Posts: 239
Joined: Mon Jun 10, 2013 6:40 pm

Re: editar celda siguiente sin dar enter

Postby nageswaragunupudi » Mon Mar 06, 2017 1:35 pm

Please try
Code: Select all  Expand view
  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
User avatar
nageswaragunupudi
 
Posts: 10620
Joined: Sun Nov 19, 2006 5:22 am
Location: India


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 42 guests