Ejemplo de xbrowse

Ejemplo de xbrowse

Postby groiss » Tue Apr 27, 2010 10:04 am

Busco y busco, pero no acabo de encontralo, me gustaria ver un ejemplo de xbrowse definido desde recursos, sobre un array, an el que hemos de definir las columnas una por una, pues no necesitamos todas las del array.¿Alguien tiene algo sobre esto?, le agradecería mucho una manita.
Muchas gracias y un saludo
José Luis
groiss
 
Posts: 225
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: Ejemplo de xbrowse

Postby anserkk » Tue Apr 27, 2010 10:25 am

Mr.José Luis,

XBrowse with Array sample

viewtopic.php?f=6&t=18605#p97526

To use xBrowse from resources

Code: Select all  Expand view  RUN
REDEFINE  XBROWSE  oBrw ID 2100 OF oDlg ;
      COLUMNS 1, 2, 3, 4 ;       // This is line is not necessary if there are only 4 columns in the array
      HEADERS "S", "Quantity", "Partnumber", "Description"  ARRAY aTest
 

Regards
Anser
User avatar
anserkk
 
Posts: 1333
Joined: Fri Jun 13, 2008 11:04 am
Location: Kochi, India

Re: Ejemplo de xbrowse

Postby groiss » Tue Apr 27, 2010 3:06 pm

Hasta ahí, lo tengo todo más o menos visto, lo que no acabo de encontrar es ninguno en el que las columnas se creen gracias a un bucle for/next.
Un saludo y gracias
José Luis
groiss
 
Posts: 225
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: Ejemplo de xbrowse

Postby jcenteno » Tue Apr 27, 2010 6:09 pm

José Luis,

Prueba asi:

WITH OBJECT ( oBrow := TXBrowse():New( oFolder:aDialogs[1] ) )
//:CreateFromResource( 101 )
...
FOR i := 4 TO 13 STEP 2
IF ! EMPTY( aCatalog[nForm, i] )
&& Agrega columnas al xBrowse
WITH OBJECT ( oCol := :AddCol() )
:cHeader := aCatalog[nForm, i]
:nArrayCol := aCatalog[nForm, i + 1]
// :cPicture := aCatalog[nEl, 33 + ii] // Picture
:nWidth := aCatalog[nForm, 28 + ii]
:nHeadStrAlign := AL_CENTER
IF HB_IsNumeric( (cAlias)->&( aCatalog[nForm,i + 1] ) )
:nDataStrAlign := AL_RIGHT
ELSE
:nDataStrAlign := AL_LEFT
ENDIF
END
ii++
ELSE
LOOP
ENDIF
NEXT i
:nHeaderLines := 1
:nFooterLines := 1
:l2007 := TRUE
:CreateFromCode()
END

El ejemplo lo uso con dbf, solo he cambiado :nArrayCol, que es el elemento del array que deseas.

Saludos,
Jairo
jcenteno
 
Posts: 23
Joined: Thu Dec 10, 2009 6:07 am

Re: Ejemplo de xbrowse

Postby groiss » Wed Apr 28, 2010 11:24 am

Bueno por ahorala cosa la llevo así :
Con este código inicializo el xbrowse para un array de al menos 19 columnas, de las que sólo quiero mostrar desde la 11 en adelante:
Code: Select all  Expand view  RUN

REDEFINE  XBROWSE  olbx ID 123 OF oDlg COLUMNS 11, 12,13, 14 HEADERS "Corredor", "Nº", "Vehículo", "Grupo"  ARRAY carrera
olbx:l2007:=.t.
olbx:nfreeze:=4
olbx:bClrStd := {|| { CLR_BLACK, IIF( olbx:aarraydata[olbx:narrayat,2],rgb(255,200,200),iif(olbx:narrayat%2=0,rgb(255,255,150),16777215)) } }
*olbx:bskip:={|n,nold| dorskip(n,osay1,"rtiempo",olbx)}
olbx:nMarqueeStyle   := MARQSTYLE_HIGHLCELL
olbx:lFastEdit:= .t.
olbx:nStretchCol := STRETCHCOL_LAST
 

El problema me aparece ahora, cuando tengo que anexar un número variable de columnas con datos alfanúmericos de las columnas del array carrera.
Aquí me pierdo, pues no se como decirle que dato ha de coger
Otro problema lo tengo con el bloque bskip, que si le pongo el mío no funciona, e incluso si copio de los fuentes el que viene con el xbrowse, tampoco.
Code: Select all  Expand view  RUN

function dorskip(n,olbx)
local nOld
nOld       := olbx:nArrayAt
olbx:nArrayAt += n
olbx:nArrayAt := Min( Max( olbx:nArrayAt, 1 ), Len( olbx:aArrayData ) )
return olbx:nArrayAt - nOld
 

Un saludo y gracias
José Luis
groiss
 
Posts: 225
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA


Return to FiveWin para Harbour/xHarbour

Who is online

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