FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xBrowse me agrega una columna adicional no definida
Posts: 163
Joined: Thu Mar 16, 2017 04:08 PM
xBrowse me agrega una columna adicional no definida
Posted: Sun Aug 05, 2018 05:06 PM
Estimados colegas

Tengo un xbrowse que defino yo creo correctamente, pero no entiendo porque razón me agrega una columna vacía al final, lo que ya identifique es que se da cuando agrego bitmaps en el texto de las cabeceras (en columnas 1 y 10 usando :AddBitmap y :HeadBmpNo), pero no encuentra la razón para ello.

Mi código es el siguiente (uso FWH1709):

Code (fw): Select all Collapse
LOCAL aGraficos:={"PRACTICA" ,"EQUIPO-IDEAL"}

DEFINE FONT oFnt NAME GetSysFont() SIZE 0, -11
DEFINE FONT oFnt2 NAME GetSysFont() SIZE 0, -11 BOLD
DEFINE DIALOG oDlgEst RESOURCE "DATOS_HIST5" OF oVent FONT oFnt TITLE "Estadísticas individuales de cada Equipo"
    REDEFINE COLUMN XBROWSE oLbx ID 6001 OF oDlgEst ARRAY aEstad AUTOSORT GDI
        ADD COLUMN TO oLbx AT 1 ARRAY ELEMENT 1 HEADER "Equipos" WIDTH 110 ALIGN LEFT
        ADD COLUMN TO oLbx AT 2 ARRAY ELEMENT 2 HEADER "P.J." WIDTH 35 ALIGN RIGHT
        ADD COLUMN TO oLbx AT 3 ARRAY ELEMENT 3 HEADER "Jugadores inscritos" WIDTH 72 ALIGN RIGHT
        ADD COLUMN TO oLbx AT 4 ARRAY ELEMENT 4 HEADER "Jugadores utilizados" WIDTH 74 ALIGN RIGHT
        ADD COLUMN TO oLbx AT 5 ARRAY ELEMENT 5 HEADER "Jugadores que marcaron gol" WIDTH 97 ALIGN RIGHT
        ADD COLUMN TO oLbx AT 6 ARRAY ELEMENT 6 HEADER "Alineaciones utilizadas" WIDTH 86 ALIGN RIGHT COLOR CLR_GREEN, NIL
        ADD COLUMN TO oLbx AT 7 ARRAY ELEMENT 7 HEADER "Jugadores actuando en 80% de PJ" WIDTH 86 ALIGN RIGHT COLOR CLR_BLUE, NIL
        ADD COLUMN TO oLbx AT 8 ARRAY ELEMENT 8 HEADER "Jugadores actuando en 60% de PJ" WIDTH 87 ALIGN RIGHT COLOR CLR_BLUE, NIL
        ADD COLUMN TO oLbx AT 9 ARRAY ELEMENT 9 HEADER "Promedio de Edad de las Alineaciones" WIDTH 90 ALIGN RIGHT COLOR CLR_BLUE, NIL
        ADD COLUMN TO oLbx AT 10 ARRAY ELEMENT 10 HEADER "Detalle de las Alineaciones" WIDTH 120 ALIGN RIGHT COLOR CLR_BLUE, NIL
        oLbx:l2007            := .T.
        oLbx:nColDividerStyle := LINESTYLE_INSET
        oLbx:nRowDividerStyle := LINESTYLE_INSET
        oLbx:nRowHeight       := 21.69                // Altura entre lineas
        oLbx:nHeaderLines     := 3
        oLbx:nMarqueeStyle    := MARQSTYLE_HIGHLCELL  // solo ilumina la celda actual
        oLbx:lRecordSelector  := .T.                  // poner o no, columna de la flechita de la izquierda
        oLbx:bClrStd          :={ || IF(oLbx:KeyNo()%2==0, {CLR_BLUE,CLR_LGREEN}, {CLR_BLUE,CLR_LGRAY}) }   // colores para todas las lineas
        oLbx:lFooter          := .T.                   // Que si/no tendrá footer
        oLbx:nFooterLines     := 1                     // Lineas del footer
        oLbx:nFooterHeight    := 20                    // Altura del footer
        oLbx:nFreeze          := 2
        WITH OBJECT oLbx:oCol(1)
            :nFooterType := AGGR_COUNT   // Conteo
            :cTooltip    := "Nombres de Equipos"
            :AddBitmap(aGraficos, )
            :nHeadBmpNo := 1
        END
        WITH OBJECT oLbx:oCol(2)
            :cTooltip    := "Partidos Jugados por cada Equipo"
            :oDataFont   := {|| oFnt2 }
        END
        WITH OBJECT oLbx:oCol(3)
            :cTooltip    := "Número de Jugadores inscritos"
        END
        WITH OBJECT oLbx:oCol(4)
            :cTooltip    := "Número de Jugadores utilizados"
        END
        WITH OBJECT oLbx:oCol(5)
            :cTooltip    := "Número de Jugadores que marcaron gol"
        END
        WITH OBJECT oLbx:oCol(6)
            :cTooltip    := "Número de Alineaciones utilizadas"
            :oDataFont   := {|| oFnt2 }
        END
        WITH OBJECT oLbx:oCol(7)
            :cTooltip    := "Número de jugadores presentes en el 80% de partidos"
        END
        WITH OBJECT oLbx:oCol(8)
            :cTooltip    := "Número de jugadores presentes en el 60% de partidos"
        END
        WITH OBJECT oLbx:oCol(9)
            :nFooterType := AGGR_MAX      // Máximo
            :nFootStrAlign := AL_CENTER   // Alinea el texto del footer
            :SetProgBar(36, 84)
            :cTooltip    := {"Promedio de Edad con los 11 iniciales de cada Equipo", "SicefWin "+cVersSW, 1, CLR_WHITE, CLR_CYAN}
        END
        WITH OBJECT oLbx:oCol(10)
            :nHeadStrAlign := AL_CENTER           // alinea el texto de la cabecera al centro
            :bLClickHeader := {|| oLbx:Gotop()}
            :bStrData      := { || "<Alineaciones ...>" }
            :nEditType     := EDIT_BUTTON
            :bEditBlock    := { | r,c,o | EditarMemo(r,c,o,aEstad[oLbx:KeyNo(),10]) }
            :cTooltip      := {"Detalle de todas las Alineaciones usadas", "SicefWin "+cVersSW, 1, CLR_WHITE, CLR_CYAN}
            :AddBitmap(aGraficos, )
            :nHeadBmpNo := 2
        END
        FOR i=9 TO 1 STEP -1
            oLbx:aCols[i]:nHeadStrAlign := AL_CENTER           // alinea el texto de la cabecera al centro
            oLbx:aCols[i]:bLClickHeader := {|| oLbx:Gotop()}
            oLbx:aCols[i]:cOrder     := "D"
            oLbx:aCols[i]:cSortOrder := i
            oLbx:aCols[i]:SortArrayData()
            IF(i>2 .AND. i<9, oLbx:aCols[i]:nTotal:=0, )
        NEXT
        oCol1:=oLbx:InsCol(1)   // inserta columna
            oCol1:bStrData      := { || AllTrim(Str(oLbx:KeyNo(),5)) }
            oCol1:nDataStrAlign := 1
            oCol1:nHeadStrAlign := AL_CENTER
            oCol1:bClrStd       := { || { CLR_HRED, IF(oLbx:KeyNo()%2==0, CLR_LGREEN, CLR_LGRAY) } }
            oCol1:cHeader       := "Nº."
            oCol1:nWidth        := 24
            oCol1:cTooltip      := {"Número", "SicefWin "+cVersSW, 1, CLR_WHITE, CLR_CYAN}
            oCol1:bLClickHeader := {|| oLbx:Gotop()}
        oLbx:Gotop()
    REDEFINE BUTTON oBtn[1]n ID 1 OF oDlgEst MESSAGE "Sale de esta pantalla" ACTION oDlgEst:END()
        oBtn[1]:cToolTip="Sale de esta pantalla"
    REDEFINE BTNBMP oBtn[2] ID 6011 OF oDlgEst RESOURCE "EXCEL16" 2007 MESSAGE "Exporta datos a formato Excel" ;
        ACTION oLbx:ToExcel()
        oBtn[2]:cToolTip="Exporta datos a formato Excel"
    oDlgEst:bKeyDown:={ |nKey,nFlags| IF( nKey==VK_ESCAPE, oDlgEst:End(), ) }   // Sale de oDlg al aplastar Escape
    oDlgEst:oFont := TFont():New("ARIAL", 0, -11, .F., .T.)
    oDlgEst:lHelpIcon:= .F.
ACTIVATE DIALOG oDlgEst CENTERED RESIZE16 ON INIT (oDlgEst:SetIcon(oApp:cIcono), oLbx:MakeTotals())


Saludos

Fernando Espinoza A.
Posts: 163
Joined: Thu Mar 16, 2017 04:08 PM
Re: xBrowse me agrega una columna adicional no definida
Posted: Mon Aug 06, 2018 11:28 PM

Estimados;

Algún aporte sobre este tema.

Saludos

Fernando Espinoza A.

Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: xBrowse me agrega una columna adicional no definida
Posted: Tue Aug 07, 2018 12:11 AM
nanoespinoza wrote:Estimados;

Algún aporte sobre este tema.

Saludos

Fernando Espinoza A.



Cuantas columnas deberias de tener y muestra una imagen del xbrowse, ademas de como defines la VAR oLbx del xbrowse...saludos... :-)
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 163
Joined: Thu Mar 16, 2017 04:08 PM
Re: xBrowse me agrega una columna adicional no definida
Posted: Tue Aug 07, 2018 01:02 AM

Debería tener 11 columnas, como verá en mi código, pero me aparece una columna 12 en vacío, como verá en el gráfico:

LOCAL oLbx

https://ibb.co/mMt2GK

Saludos

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: xBrowse me agrega una columna adicional no definida
Posted: Tue Aug 07, 2018 02:50 AM
In this line
Code (fw): Select all Collapse
   REDEFINE COLUMN XBROWSE oLbxID 6001 OF oDlgEst ARRAY aStat AUTOSORT GDI

please remove "GDI" at the end.
Regards



G. N. Rao.

Hyderabad, India
Posts: 163
Joined: Thu Mar 16, 2017 04:08 PM
Re: xBrowse me agrega una columna adicional no definida
Posted: Tue Aug 07, 2018 04:41 AM

OK, se resolvió el problema.

Me gustaría conocer a que se debe.

Saludos

Continue the discussion