edicion con Xbrowser

edicion con Xbrowser

Postby mastintin » Wed Apr 15, 2015 10:57 am

Quiero poder consultar y editar rapido unos datos. Si uso xbrowser a secas no me permite su edición .
Si pongo FASTEDIT o SETUP ( oBrw:nEditTypes := EDIT_GET ) si permite la edición lo que pasa que permite la edición "en linea"
Quiero poder hacer la edición pero solo desde el "boton" de editar...
¿ como tengo que ponerlo ?
Code: Select all  Expand view


  local cOrdenes := Abrimos("ordenes")
   ( cOrdenes )-> (OrdSetFocus(1))
    XBROWSER AUTOSORT  //SETUP ( oBrw:nEditTypes := EDIT_GET )
   close ( cOrdenes )

 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: edicion con Xbrowser

Postby acuellar » Wed Apr 15, 2015 12:00 pm

Manuel

Tendrías que hacerlo por columna no colocar el FastEdit
Code: Select all  Expand view

oCol:=oBrw:AddCol()
   oCol:bStrData  := { || NOMBRE }
   oCol:cHeader:= "NOMBRE"
   oCol:nWidth:=150
   oCol:cSortOrder:="NOMBRE"
   oCol:nEditType := EDIT_GET
   oCol:bOnPostEdit := {|o, v, n| NOMBRE:=v }
//Sólo funciona al pulsar Enter
//Podemos agregar otras teclas por Ej. F2
  oBrw:bKeyDown:={ |nKey| iif(nKey=VK_F2, __KeyBoard(Chr(13)) , )}
 


Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1589
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: edicion con Xbrowser

Postby hmpaquito » Wed Apr 15, 2015 12:21 pm

Manuel,

Ahora que te pillo por aquí y con xBrowse, siendo tu un master de las imágenes... He probado un xBrowse mostrando imagenes que originalmente estan en formato .jpg y su tamaño es 800 x 800. Las muestro en un tamaño de 33 pix, y las muestra bien, pero el xbrowse se vuelve horriblemente lento... creo que el problema puede estar en la filoadimg() que tiene que hacer conversiones... y muchas... tantas como el xBrowse lo invoca.

¿ Crees que el problema es el que te indico ? ¿ Algun workaround ?

Saludos
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: edicion con Xbrowser

Postby mastintin » Wed Apr 15, 2015 2:18 pm

hmpaquito wrote:Manuel,

Ahora que te pillo por aquí y con xBrowse, siendo tu un master de las imágenes... He probado un xBrowse mostrando imagenes que originalmente estan en formato .jpg y su tamaño es 800 x 800. Las muestro en un tamaño de 33 pix, y las muestra bien, pero el xbrowse se vuelve horriblemente lento... creo que el problema puede estar en la filoadimg() que tiene que hacer conversiones... y muchas... tantas como el xBrowse lo invoca.

¿ Crees que el problema es el que te indico ? ¿ Algun workaround ?

Saludos


Dos cosas ...
1ª¿ es necesario enseñar las miniaturas en las celdas del xbrowse o servirí algo asi ?:
Image

2º si es necesario enseñar todas las miniaturas sería mucho mas rápido adaptar el xbrowse para que en vez usar filoadimg() para cargar los jpg use gdi+ y las reduzca a 33pix al vuelo , si el ordenador es medianamente moderno , eso aceleraría el xbrowse .
la funcion equivalente seria :

La funcion seria hBmpFromFile( cFile, nWith, nHeight ) en tu caso hBmpFromFile( cFile, 33 )
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: edicion con Xbrowser

Postby hmpaquito » Wed Apr 15, 2015 3:15 pm

Manuel,

Qué buena idea... me sirve de la primera forma, incluso me viene mejor.

Muchas gracias. saludos

pd. Desconocia la existencia de hBmpFromFile(). Supongo que esa funcion deberia ser incorporada al xBrowse para darle mayor velocidad.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: edicion con Xbrowser

Postby hmpaquito » Wed Apr 15, 2015 3:58 pm

Manuel,

Pensando mejor sobre la segunda posibilidad y su solucion, creo que la solucion pasa por modificar el xBrowse para re-utilizar los hBmp, sea-la-funcion-de-lectura-del-jpg-la-que-sea.

La solucion pasaria por utilizar un hash con el nombre de la imagen a la que se le asignaria el hBmp. En oBrw:Destroy() se borrarian (deleteobject()) los hBmp. Asimismo, el calculo del HasAlpha() puede enlentecer... también se guardaría en el hash, de modo que el hash contendria tuplas con el siguiente valor {hBmp, lAlpha}


Saludos
Last edited by hmpaquito on Wed Apr 15, 2015 6:16 pm, edited 1 time in total.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: edicion con Xbrowser

Postby cnavarro » Wed Apr 15, 2015 4:50 pm

A mi me funciona perfectamente sin añadir nada ( ni en el SETUP ), pero solo lo he usado con arrays
Edito con el boton de edicion nada mas

--------------------------------------- EDITADO ------------------------------------------

Lo he comprobado y no permite editar con bases de datos
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: edicion con Xbrowser

Postby nageswaragunupudi » Wed Apr 15, 2015 8:27 pm

mastintin wrote:Quiero poder consultar y editar rapido unos datos. Si uso xbrowser a secas no me permite su edición .
Si pongo FASTEDIT o SETUP ( oBrw:nEditTypes := EDIT_GET ) si permite la edición lo que pasa que permite la edición "en linea"
Quiero poder hacer la edición pero solo desde el "boton" de editar...
¿ como tengo que ponerlo ?
Code: Select all  Expand view


  local cOrdenes := Abrimos("ordenes")
   ( cOrdenes )-> (OrdSetFocus(1))
    XBROWSER AUTOSORT  //SETUP ( oBrw:nEditTypes := EDIT_GET )
   close ( cOrdenes )

 


Please try:
Code: Select all  Expand view

XBROWSER Alias() SETUP oBrw:bDataRow := { |o,c,l| TDataRow():New( o:uDataSource, c, l ) }
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10206
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: edicion con Xbrowser

Postby cnavarro » Wed Apr 15, 2015 8:41 pm

Ok, So it works well
Thanks
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: edicion con Xbrowser

Postby nageswaragunupudi » Wed Apr 15, 2015 8:49 pm

My solution is for the specific rather uncommon requirement of Mr Manuel.

For all normal purposes
XBROWSER <anydata> FASTEDIT
or
XBROWSER <anydata> AUTOSORT SETUP oBrw:nEditTypes := EDIT_DATA

work well for viewing and editing any data
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10206
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: edicion con Xbrowser

Postby cnavarro » Wed Apr 15, 2015 10:52 pm

Mr Rao
Yo pienso que por defecto se deberia permitir editar con el boton "Edit" y usar FASTEDIT para Editar directamente si el usuario elige esa opcion
O implementar dos opciones distintas

Mr Rao
I think we should allow default edit the "Edit" button and use FASTEDIT to Edit directly if the user chooses that option
Or implement two different options
FASTEDIT and ....EDIT..
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: edicion con Xbrowser

Postby mastintin » Thu Apr 16, 2015 6:55 am

¡¡Perfecto Sr.Rao !!!. Gracias.


Respecto al comportamiento creo que está bien que no permita editar por defecto pero deberiamos implementar un comando EDIT .
Mi propuesta para no mover casi el codigo es que el parametro lFastEdit pase a ser nEdit ...
nEdit := 0 -> no editable
nEdit:= 1 -> lFastEdit:= .t.
nEdit:= 2 -> editable

comandos a usar EDIT AND FASTEDIT seria algo asi :

# xcommand XBROWSER [<uData>] ;
[ TITLE <cTitle> ] ;
[ <autosort:AUTOSORT> ] ;
[ SETUP <fnSetUp> ] ;
[ COLUMNS <aCols,...> ] ;
[ SELECT <fnSelect> ] ;
[ <excel: CALC> ];
[ FASTEDIT] [ <nEdit: 1> ] ;
[ EDIT ] [ <nEdit: 2> ] ;
[ VALID <uValid> ] ;
[ [SHOW] <sl: RECID,SLNUM> ] ;
=> ;
XBrowse( [<uData>], [<cTitle>], [<.autosort.>], ;
[\{|oBrw|<fnSetUp>\}], [\{<aCols>\}], ;
[\{|oBrw,oCol|<fnSelect>\}],!<.excel.>, <nEdit>, [\{|oBrw|<uValid>\}], <(sl)> )

cambios en codigo de xbrowser ...

function XBrowse( uData, cTitle, lAutoSort, bSetUp, aCols, bSelect, lExcel, nEdit, ;
bValid, cSerial )
DEFAULT nEdit:= 0
.......

line 117+-

XBrwSetDataSource( oBrw, uData, lAddCols, lAutoSort, aCols ) // function in XBrowse.Prg
AEval( oBrw:aCols, { |o| If( o:cDataType == 'L', o:SetCheck(), nil ) } )

if nEdit == 1
oBrw:lFastEdit := .t.
AEval( oBrw:aCols, { |o| o:nEditType := 1 } )
elseif nEdit == 2
oBrw:bDataRow := { |o,c,l| TDataRow():New( o:uDataSource, c, l ) }
endif

......

Todo esto esta planteado al vuelo , como idea, no está probado ya que ahora mismo no estoy sobre el ordenador ...
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: edicion con Xbrowser

Postby TOTOVIOTTI » Tue Aug 22, 2017 1:02 pm

Hola amigos,
necesito hacer un Xbrowser o xBrowse emulando al viejo DBU donde
se podía modificar los campos de una dbf, y no lo puedo hacer.
Probé con FASTEDIT, SETUP y todo lo que sugieren pero no lo puedo hacer que me edite
y grabe.
Quien me pueda ayudar se lo agradeceré!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 387
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: edicion con Xbrowser

Postby joseluisysturiz » Tue Aug 22, 2017 4:25 pm

TOTOVIOTTI wrote:Hola amigos,
necesito hacer un Xbrowser o xBrowse emulando al viejo DBU donde
se podía modificar los campos de una dbf, y no lo puedo hacer.
Probé con FASTEDIT, SETUP y todo lo que sugieren pero no lo puedo hacer que me edite
y grabe.
Quien me pueda ayudar se lo agradeceré!
Roberto

Coloca codigo de como definistes el xBrowse para poder ayudarte, gracias...saludos... :shock:
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

Re: edicion con Xbrowser

Postby TOTOVIOTTI » Tue Aug 22, 2017 6:19 pm

Disculpas... pero uso de la siguiente manera:

XBROWSER cAlias FASTEDIT

Gracias
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 387
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 18 guests