Editar campos en TXBrowse

Editar campos en TXBrowse

Postby Rafael Clemente » Wed Jul 02, 2008 8:36 am

Estoy utilizando un TxBrowse de tres columnas y quiero editar uno tras otro los tres campos correspondientes a un mismo registro.
Para ello utilizo tres bPostEdit, uno para cada columna:
Code: Select all  Expand view  RUN
bPostEdit1 := {|o,v,n|  iif( n != VK_ESCAPE, ::GrabarCampo(1,v),)
bPostEdit2 := {|o,v,n|  iif( n != VK_ESCAPE, ::GrabarCampo(2,v),)
bPostEdit3 := {|o,v,n|  iif( n != VK_ESCAPE, ::GrabarCampo(3,v),)

Eso me exige hacer click en cada campo que quiero editar. ¿Habría alguna forma de hacer que una vez editado el primer campo, el cursor me salte automáticamente al segundo, ya en modo de edición?
Gracias
Rafael
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby Biel EA6DD » Wed Jul 02, 2008 10:05 am

Hola Rafael,
bueno lei primero el post en el foro de ingles, alli te he contestado.

Saludos.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby Rafael Clemente » Wed Jul 02, 2008 11:37 am

Biel:
Muchas gracias. No pedo creer que fuera tan sencillo...!

(Para los que no han leido el foro en inglés: oBrw:lFastEdit := .T.)

Rafael
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby joseluisysturiz » Thu Jul 03, 2008 2:59 pm

Rafael Clemente wrote:Biel:
Muchas gracias. No pedo creer que fuera tan sencillo...!

(Para los que no han leido el foro en inglés: oBrw:lFastEdit := .T.)

Rafael

Gracias por el Tips, funciona super...pero como hago para que al llegar a la ultima columna cuando salga de la edicion me que de en la siguiente linea del primer registro o del registro que quiera? mucho agradeceria un ejemplito...con esto casi tendria listo el uso de Xbrowse en FACTURACION, a penas este listo lo comparto..Gracias...
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Postby Biel EA6DD » Fri Jul 04, 2008 7:28 am

Puedes hacerlo en el PostEdit de la última columna.

Un ejemplo
Code: Select all  Expand view  RUN
oCol:=ATail(oBrw:aCols) //Recupero la última columna del Browse.
oCol:bOnPostEdit:={|o, v, n| PostEdit(o,v,n)}  //Cambio postedit para que salte de linea

//---------------------------------------------------------------------------
STATIC FUNCTION PostEdit( oCol, xValue, nLastKey )
   LOCAL nOldVal, nFldNo
   LOCAL cAlias := oCol:oBrw:cAlias
   IF nLastKey == 13
      nOldVal  := Eval( oCol:bEditValue )
      if !( nOldVal == xValue )
         if (cAlias)->(dbrLock())
            Eval( oCol:bEditValue, xValue )
            (cAlias)->( dbUnlock() )
            oCol:oBrw:GoDown()     //Aqui movemos a siguiente linea
            oCol:oBrw:GoLeftMost() //Campo + a la izquierda.
         ENDIF
      ENDIF
   endif
return nil
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby jfafive » Sun Jul 13, 2008 10:12 am

Hola,

Les veo hablando de control sobre las coumnas en el TXBrowse y tengo una duda que tal vez puedan contestarme.

Tengo un TXBrowse que me muestra tres columnas. Una de ellas contiene un texto muy largo y se corta.

¿hay forma de decirle a TXBrowse que haga un multiline en esa columna? de modo que si el campo es demasiado largo, me lo muestre en varias lineas respetando así el mismo ancho de columna.

Un saludo,
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Antonio Linares, Google [Bot] and 57 guests