FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xbrowse alinear columnas.
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
xbrowse alinear columnas.
Posted: Tue Feb 07, 2017 12:59 PM
En el ejmeplo que pongo quiero alinear todo a centrado, el titulo si sale centrado, pero no se como alinear centrado los datos de las celdas, he probado con :nDataStrAlign pero me da el siguiente error : Message not found: TXBROWSE:NDATASTRALIGN

Alguien podria indicarme como ordenar los datos dentro de cada "celda". Se que deber ser una tonteria, pero no lo consigo.

Muchas Gracias.

Code (fw): Select all Collapse
 REDEFINE FOLDER oFld ID 101 OF oDDATOS UPDATE;
             PROMPT &vprompt DIALOGS &vfolders ADJUST;
             on change (refrescardatos(vestanteria,oBrw[oFld:nOption],oFld:nOption,vfilas))

       FOR i:=1 to vprofundo
           REDEFINE XBROWSE oBrw[i] ID 101 ;
                  HEADERS V_Header ;
                  SIZES   V_ColSize ;
                  DATASOURCE aData[i] AUTOCOLS CELL LINES NOBORDER FASTEDIT of oFld:aDialogs[i]

            WITH OBJECT oBrw[ i ]
             :bRClicked:= {|| borrararticulo(aData,oBrw,oFld:nOption,vestanteria,vfilas,oFld) }
             :bLDblClick := {|| buscararticulo(aData,oBrw,oFld:nOption,vestanteria) }
             :bKeychar := {|nkey| iif(nkey=13 .and. oBrw[oFld:nOption]:nColSel > 1,buscararticulo(aData,oBrw,oFld:nOption,vestanteria),)}
             :lColChangeNotify := .t.
             :bChange := { |oBrw| refrescardatos(vestanteria,oBrw,oFld:nOption,vfilas)}
             :nFreeze:=1
             :lFullGrid  := .t.

           END

       next i
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: xbrowse alinear columnas.
Posted: Tue Feb 07, 2017 04:16 PM

Con que versión estás compilando ?

Saludos

Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: xbrowse alinear columnas.
Posted: Tue Feb 07, 2017 04:29 PM

Fivewin Habour 15.09 y borland cc 5.82

Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: xbrowse alinear columnas.
Posted: Tue Feb 07, 2017 04:48 PM
Garbi.
Intentalo asi:
....
....
Code (fw): Select all Collapse
WITH OBJECT oBrw[ i ]
             :bRClicked:= {|| borrararticulo(aData,oBrw,oFld:nOption,vestanteria,vfilas,oFld) }
             :bLDblClick := {|| buscararticulo(aData,oBrw,oFld:nOption,vestanteria) }
             :bKeychar := {|nkey| iif(nkey=13 .and. oBrw[oFld:nOption]:nColSel > 1,buscararticulo(aData,oBrw,oFld:nOption,vestanteria),)}
             :lColChangeNotify := .t.
             :bChange := { |oBrw| refrescardatos(vestanteria,oBrw,oFld:nOption,vfilas)}
             :nFreeze:=1
             :lFullGrid  := .t.
 END

AEval(oBrw[ i ]:aCols, {|o| o:nDataStrAlign := AL_CENTER })   // <----

next i

Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: xbrowse alinear columnas.
Posted: Tue Feb 07, 2017 05:08 PM

Muchas Gracias. Funcionando Perfectamente.
Gracias por evitarme horas de trabajo.

Un saludo.

Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM
Re: xbrowse alinear columnas.
Posted: Tue Nov 24, 2020 02:53 PM

Hola garbi como armas vprompt y vFolders

PROMPT &vprompt DIALOGS &vfolders

Saludos

Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: xbrowse alinear columnas.
Posted: Tue Nov 24, 2020 03:05 PM
Code (fw): Select all Collapse
// varias profundos


 for i:=1 to vcolumnas+1
     if i = 1
         AADD(V_Header," ")
         AADD(V_Colsize,50)
     ELSE
         AADD(V_Header,"Columna "+alltrim(transform(i-1,"999")))
         AADD(V_Colsize,100)
     endif
next i


vprompt:= '" 1 Profundidad"'
for i:=2 to vprofundo
     vprompt:=vprompt+","+'"'+alltrim(transform(i,"999"))+' Profundidad"'
next i


vfolders:='"FOLDERS"'
FOR i:= 2 to vprofundo
    vfolders:=vfolders+","+'"FOLDERS"'
next i

   aData    := Array( vprofundo )
   aData[ 1 ]  := Array( vfilas, vcolumnas+1 )

   AEval( aData[ 1 ], { |a,k| a[ 1 ] := chr(( k )+64) } )

   for i:= 2 to vcolumnas+1
        AEval( aData[ 1 ], { |a,k| a[ i ] := space(10) } )
   next i
   AEval( aData, { |u,k| aData[ k ] := AClone( aData[ 1 ] ) }, 2 )
   oBrw  := Array( vprofundo )

    area:=select()
    cdestant := OpenDbf(fdestant,1, , , , kdestant,"DBFCDX")
   (cdestant)->(DbSetOrder(1))
   (cdestant)->(Dbgotop())
    acdestan:=select()
    dbseek(vestanteria)
    do while !eof() .and. (cdestant)->estanteria = vestanteria
      aData[(cdestant)->profundo][(cdestant)->fila,(cdestant)->columna+1]:= (cdestant)->articulo
       dbskip()
    enddo
    (cdestant)->(Dbclosearea())
    select(area)



 DEFINE Dialog oDDATOS RESOURCE "FOLDER_VARIOS" TITLE "Estanteria : "+alltrim(vestanteria)+" -- "+alltrim(vdetallestanteria) OF oApp:aMod[20]:oWnd

        REDEFINE get gvfcliente  Var vfcliente  ID 102 of oDDATOS when lsay
        REDEFINE get gvfnombre   Var vfnombre   ID 103 of oDDATOS when lsay
        REDEFINE get gvfarticulo Var vfarticulo ID 104 of oDDATOS when lsay
        REDEFINE get gvfdetalle  Var vfdetalle  ID 105 of oDDATOS when lsay
        REDEFINE get gvfcantidad Var vfcantidad ID 106 of oDDATOS when lsay
        REDEFINE get gvfpaquetes Var vfpaquetes ID 107 of oDDATOS when lsay

        REDEFINE get gvfcolumna Var  vfcolumna  ID 108 of oDDATOS when lsay
        REDEFINE get gvffila     Var  vffila      ID 109 of oDDATOS when lsay
        REDEFINE get gvfprofundo Var vfprofundo ID 110 of oDDATOS when lsay

      REDEFINE FOLDEREX oFld ID 101 OF oDDATOS UPDATE;
             PROMPT &vprompt DIALOGS &vfolders ;
             on change (refrescardatos(vestanteria,oBrw[oFld:nOption],oFld:nOption,vfilas))

       FOR i:=1 to vprofundo
           REDEFINE XBROWSE oBrw[i] ID 101 ;
                  HEADERS V_Header ;
                  SIZES   V_ColSize ;
                  DATASOURCE aData[i] AUTOCOLS CELL LINES NOBORDER FASTEDIT of oFld:aDialogs[i]

            WITH OBJECT oBrw[ i ]
             :bRClicked:= {|| borrararticulo(aData,oBrw,oFld:nOption,vestanteria,vfilas,oFld) }
             :bLDblClick := {|| buscararticulo(aData,oBrw,oFld:nOption,vestanteria) }
             :bKeychar := {|nkey| iif(nkey=13 .and. oBrw[oFld:nOption]:nColSel > 1,buscararticulo(aData,oBrw,oFld:nOption,vestanteria),)}
             :lColChangeNotify := .t.
             :bChange := { |oBrw| refrescardatos(vestanteria,oBrw,oFld:nOption,vfilas)}
             :nFreeze:=1
             :lFullGrid  := .t.

           END

           AEval(oBrw[ i ]:aCols, {|o| o:nDataStrAlign := AL_CENTER })
       next i
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM
Re: xbrowse alinear columnas.
Posted: Tue Nov 24, 2020 05:46 PM

Muchas Gracias resulto bien.
Saludos

Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM
Re: xbrowse alinear columnas.
Posted: Thu Nov 26, 2020 04:50 PM

Garbi yo armo asi:

Local aData
LOcal vData:=""

cProductos:=xServer:Query("SELECT * FROM productos")
cProductos:GoTop()
vData:='"aProd"'
cProductos:Skip(1) //Skip
Do While !cProductos:Eof()
vData :=vData +","+ '"aProd"'

  cProductos:Skip(1) //Skip

ENDDO
cProductos:End()

? vData

aData := Array( vData )

? aData //aca esta vacio marca error

saludos

Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: xbrowse alinear columnas.
Posted: Thu Nov 26, 2020 05:16 PM

Vamos a ver si me acuerdo, que ya hace tiempo.

Creo que el error que esta teniendo es que :

aData := Array( vData )

vData es un "literal" no es un numero, fijate que yo asigno vprofundo, que es un numero, es decir lo largo del array, tu deberías asignar el numero de registros, y casi te diria que numero de registros +1 que tienes fuera.

Prueba a ver si fuera eso

Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com

Continue the discussion