Siempre he usado para mis listbox la clase twbrowse de Hernan Cecarelli.
Hasta ahora no he necesitado más y me ha servido en mis sistemas durante muchos años.
Hoy dia debo realizar algo para lo que creo que dicha clase no me alcanza o no es la mas adecuada (por lo menos eso creo, ojala me equivoque)
Por lo que he visto en el foro lo mas adecuado es usar xBrowse ya que la cuestion es con FW+MARIADB...
Uso Fw18.01 + xHarbour + pellesc (como editor de recursos solamente)
Necesito encontrar documentacion sobre todo lo que pueda manejar de MARIADB con esta clase. Como se que no es posible que me den toda la informacion por aca, hago consulta con algunos puntos especificos y bueno, si alguien puede aportar algunos tips adicionales, bienvenidos sean...
Debo desarrollar un módulo de FACTURACION para la cual necesito manejar celdas individuales e interactivas, con capacidad de calculos y validaciones a tablas en todas o algunas. Algo asi... (imagen sacada de aca del foro)
Encontré muchas consultas sobre el tema aqui, pero no he visto algun link o segmento de código ejemplo que guie en lo básico de como hacerlo desde cero para alguien que no conoce la clase.
Les recuerdo que jamás he usado xBrowse y tampoco soy muy experto leyendo y entendiendo los codigos de las clases.
Hice una primera prueba sencilla (solo para mostrar una tabla)
Acá el codigo:
- Code: Select all Expand view RUN
REDEFINE XBROWSE oLbx id 4016 Of oDlg_Numeros DATASOURCE oQuery ;
FIELDS oQuery:nombre_presenta ,;
oQuery:nombre_color ,;
oQuery:nombre_talla ,;
oQuery:unidades_descuento ,;
oQuery:existencia ;
HEADERS ;
"Presentacion",;
"Color" ,;
"Talla" ,;
"Und.Desct." ,;
"Existencia" ;
COLSIZES 100,100,80,80,86;
PICTURES nil, nil, nil,"@E 999,999,999.99","@E 999,999,999.99" ;
JUSTIFY AL_LEFT, AL_LEFT, AL_LEFT, AL_RIGHT, AL_RIGHT
oLbx:l2007 := .F.
oLbx:bClrHeader := {|| { RGB(245,245,245), RGB(23,49,230), } }
oLbx:bClrFooter := {|| { RGB(245,245,245), RGB(23,49,230) } }
oLbx:bClrSel := {|| IF( oLbx:KeyNo() % nRowsInt == 0,{ CLR_BLACK, nRowParClr }, { CLR_BLACK, nRowNonClr } ) }
oLbx:bClrSelFocus := {|| { nFClrFocus,nBClrFocus } }
oLbx:nRecSelColor := nRowParClr
oLbx:bClrStd := { || { CLR_BLACK, If( oLbx:KeyNo() % 2 == 0, RGB(188, 247 , 250 ), CLR_WHITE ) } }
oLbx:lFooter := .t.
oLbx:aCols[5]:nTotal := 0
oLbx:aCols[5]:nFooterType:= AGGR_TOTAL
oLbx:aCols[05]:bFooter := { || oLbx:oCol(05):nTotal}
oLbx:MakeTotals()
Fnct_ThisListBox2()
Ahora aqui necesito hacer lo siguiente en la imagen que se muestra debajo:
1.- Como quito el color negro de la barra de la izquierda? creo que se llama BookMark (la indico con la flecha roja)
2.- En el footer necesito mostrar un total, pero no es el de la columna, sino el resultado de multiplicar el valor de cada celda de la columna "Und.Desct." por el valor de cada celda de la columna "existencia" lo muestro con la flechas al lado de las cantidades.
Por ultimo, no se como iluminar toda la fila que tiene el SELECT. aca dejo la imagen, la primera fila es con xBrowse y la segunda, la que muestra la flecha verde es con twbrowse y es como me gustaria verla con xbrowse.
cuales serian los equivalentes a nPosicion:=recno(), goto(nPosicion), para el listbox esta bien usar oLbx:SetArray( oQuery ), o hay algo mas adecuado?
En fin, tengo muchas dudas y cosas que no se, no pretendo que me den clases por aca, pero si por favor que me indiquen donde puedo documentarme con dicha clase con ejemplos.
Espero no estar pidiendo demasiado y pido disculpas por lo extenso de la consulta.
Gracias a todos por la ayuda que puedan aportarme...
Un abrazo.