error on xbrowse footer - RESOLVED! -

User avatar
Silvio.Falconi
Posts: 4956
Joined: Thu Oct 18, 2012 7:17 pm

Re: error on xbrowse footer

Post by Silvio.Falconi »

perhaps you not understood

I have two prg

on one prg I have column 5

Code: Select all

 



 @ 120, 02 XBROWSE  oBrowse OF oDlg ;
      COLUMNS 1, 2, 3, 4, 5                    ;
      HEADERS "ico","Descrizione servizio","Q.tà","Prezzo","Totale"   ;
      COLSIZES 20, 350, 80, 120,120           ;
      ARRAY aData        ;
      SIZE 100,82 PIXEL NOBORDER




    ADD COLUMN TO XBROWSE oBrowse

  bCalcRow := { || CalcoloTotali(oBrowse,aGet)     )}



 WITH OBJECT oBrowse
    :nRowHeight    := 30

       WITH OBJECT oBrowse:aCols[ 1]
          :bFooter   := { || Ltrim( Str( oBrowse:KeyNo() ) ) + " / " + LTrim( Str( oBrowse:KeyCount() ) )+" servizi" }
          :lBmpStretch     := .F.
          :lBmpTransparent := .T.
          :nwidth := 30
          :bStrImage       := {|| oBrowse:aArrayData[ oBrowse:narrayat][1] }
       END

       WITH OBJECT oBrowse:aCols[ 3]
          :nWidth        := 100
          :nDataStrAlign := AL_CENTER
          :AddBitmap( { FW_BmpPlus(), FW_BmpMinus() } )

          // Right Button
         :nEditType     := EDIT_BUTTON
         :bEditBlock    := { |r,c,oCol| oCol:Value + 1 }
         :nBtnBmp       := 1
         :lBtnTransparent  := .t.

         // Left Button
         :bBmpData      := { |v,lSel| If( lSel, 2, 0 ) }
         :bBmpAction    := { |oCol| IIF( oCol:Value>0,oCol:VarPut( oCol:Value - 1 ),) }

       *  :bOnChange     := { |oCol| (CalcoloRiga(oBrowse),;
        *                             CalcoloTotali(oBrowse,aGet)) }

           :bOnChange := bCalcRow

        END

             WITH OBJECT  oBrowse:aCols[ 4]
                  :nEditType     := EDIT_GET
                  :bOnChange := bCalcRow
               END

                    WITH OBJECT  oBrowse:aCols[ 5]
                         :nFooterType      := AGGR_SUM
                         :cEditPicture := '@ €99,999.99'
                      END

               // inserisce pulsante nella colonna e sulla testata

                 WITH OBJECT oBrowse:aCols[ 6]
                       :AddBmpFile(".\bitmaps\DLG_NO_MIN.bmp")
                       :nBtnBmp := 1
                       :lBmpStretch     := .F.
                       :lBmpTransparent := .T.
                       :nwidth := 30
                       :nEditType := EDIT_BUTTON
                       :bEditBlock := { ||DeleteRow(oBrowse,aGet)  }
                       :nHeadBmpNo := 1
                       :cHeader := ""
                       :bLClickHeader  := { ||DeleteAllRows(oBrowse,aGet)  }
                      END
                 //---------------------------------------------//


                      :MakeTotals()
                      :lfooter          := .T.
                      :lHscroll         := .F.
                      :l2007            := .F.
                      :l2015            := .T.
                      :nStretchCol  := STRETCHCOL_WIDEST
                      :lAllowRowSizing     := .F.
                      :lAllowColSwapping   := .F.
                      :lAllowColHiding     := .F.
                      :nMarqueeStyle       := MARQSTYLE_HIGHLROWMS
                      :CreateFromCode()
                   END


 
and run ok

on another I have column 11

Code: Select all


 @ 120, 02 XBROWSE  oBrowse OF oDlg ;
        COLUMNS  1,2,3,4,5,6,7,8,9,10,11;
        HEADERS "Ico","Tipo","Servizio","Q.tà","Costo","Tot p q.tà","Dal","al","Giorni","Sconto","Totale"   ;
        COLSIZES 55, 25,130,50,90,90,140,140,50,90,120 ;
         PICTURES nil, nil,"@!","9999","€ 999,999.99","€ 999,999.99", "dd-mmmm-yyyy","dd-mmmm-yyyy","999","€ 999,999.99","€ 999,999.99";
        ARRAY aData       ;
        SIZE 100,120 PIXEL STYLE FLAT NOBORDER
         //


         ADD COLUMN TO XBROWSE oBrowse




      WITH OBJECT oBrowse
         :nRowHeight    := 30

         WITH OBJECT oBrowse:aCols[ 1]
          :bFooter   := { || Ltrim( Str( oBrowse:KeyNo() ) ) + " / " + LTrim( Str( oBrowse:KeyCount() ) )+" servizi" }
          :lBmpStretch     := .F.
          :lBmpTransparent := .T.
          :nwidth := 30
          :bStrImage       := {|| oBrowse:aArrayData[ oBrowse:narrayat][1] }
         END


         WITH OBJECT oBrowse:aCols[ 2]
          :AddBitmap({"INVOICE_ELEMENTO",;
                      "INVOICE_SERVIZIO",;
                      "INVOICE_PACCHETTO",;
                      "INVOICE_LISTINO"})
          :lBmpStretch     := .F.
          :lBmpTransparent := .T.
          :nwidth := 30

          :bBmpData      := {|| GiveType(alltrim(oBrowse:aArrayData[ oBrowse:narrayat][2]))  }
       END



         WITH OBJECT oBrowse:aCols[ 4]
          :nWidth        := 100
          :nDataStrAlign := AL_CENTER
          :AddBitmap( { FW_BmpPlus(), FW_BmpMinus() } )

          // Right Button
         :nEditType     := EDIT_BUTTON
         :bEditBlock    := { |r,c,oCol| oCol:Value + 1 }
         :nBtnBmp       := 1
         :lBtnTransparent  := .t.

         // Left Button
         :bBmpData      := { |v,lSel| If( lSel, 2, 0 ) }
         :bBmpAction    := { |oCol| IIF( oCol:Value>0,oCol:VarPut( oCol:Value - 1 ),) }

       *  :bOnChange     := { |oCol| (CalcoloRiga(oBrowse),;
        *                             CalcoloTotali(oBrowse,aGet)) }

         *  :bOnChange := bCalcRow

        END




        WITH OBJECT oBrowse:aCols[ 7]
         :nEditType  := EDIT_BUTTON
         :AddBitmap( "INVOICE_CALENDAR_BMP" )
         :nBtnBmp    := 1
        * :bEditBlock := { |r,c,o,k| XbrGetDate( o,"Seleziona una data",dStagioneMin,dStagioneMax, .t., 0.6, , ) }
         :bEditBlock := { |r,c,o,k| XbrGetDate( o,"Seleziona una data",dStagioneMin,dStagioneMax ) }
        * :bOnChange := bCalcRow
      END

         WITH OBJECT oBrowse:aCols[ 8]
         :nEditType  := EDIT_BUTTON
         :AddBitmap( "INVOICE_CALENDAR_BMP" )
         :nBtnBmp    := 1
   
          :bEditBlock := { |r,c,o,k| XbrGetDate( o,"Seleziona una data",dStagioneMin,dStagioneMax ) }
       *  :bOnChange := bCalcRow

      END

          WITH OBJECT  oBrowse:aCols[ 10]
                  :nEditType     := EDIT_GET
                 * :bOnChange := bCalcRow
               END

                       WITH OBJECT  oBrowse:aCols[ 11]
                         :nFooterType      := AGGR_SUM
                         :cEditPicture := '@ €99,999.99'
                      END




                 WITH OBJECT oBrowse:aCols[ 12]
                       :AddBmpFile("INVOICE_CANCELLA2")
                       :nBtnBmp := 1
                       :lBmpStretch     := .F.
                       :lBmpTransparent := .T.
                       :nwidth := 30
                       :nEditType := EDIT_BUTTON
                       :bEditBlock := { ||DeleteRow(oBrowse,aGet)  }
                       :nHeadBmpNo := 1
                       :cHeader := ""
                       :bLClickHeader  := { ||DeleteAllRows(oBrowse,aGet)  }
                    END


                      :MakeTotals()
                      :lfooter          := .T.
                      :lHscroll         := .F.
                      :l2007            := .F.
                      :l2015            := .T.
                      :nStretchCol  := STRETCHCOL_WIDEST
                      :lAllowRowSizing     := .F.
                      :lAllowColSwapping   := .F.
                      :lAllowColHiding     := .F.
                      :nMarqueeStyle       := MARQSTYLE_HIGHLROWMS
                      :CreateFromCode()


    END










 

the source is the same on the second not run the footer ( with euro symbol)
Itried to erase this line but it is the same
PICTURES nil, nil,"@!","9999","€ 999,999.99","€ 999,999.99", "dd-mmmm-yyyy","dd-mmmm-yyyy","999","€ 999,999.99","€ 999,999.99";
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
User avatar
Silvio.Falconi
Posts: 4956
Joined: Thu Oct 18, 2012 7:17 pm

Re: error on xbrowse footer

Post by Silvio.Falconi »

here a test simply with an array

Code: Select all

#include "fivewin.ch"



Function test()
   Local oDlg,oFont

 Local aData:= { }

local oBrowse

 DEFINE DIALOG oDlg SIZE 1200, 570 PIXEL;   // SIZE 878, 570
           Title "Ordine n."  ;
         STYLE nOR(  WS_CAPTION, WS_MAXIMIZEBOX, WS_MINIMIZEBOX, WS_THICKFRAME )


        @ 120, 02 XBROWSE  oBrowse OF oDlg ;
        COLUMNS  1,2,3,4,5,6,7,8,9,10,11;
        HEADERS "Ico","Tipo","Servizio","Q.tà","Costo","Tot p q.tà","Dal","al","Giorni","Sconto","Totale"   ;
         PICTURES nil, nil,"@!","9999","€ 999,999.99","€ 999,999.99", "dd-mmmm-yyyy","dd-mmmm-yyyy","999","€ 999,999.99","€ 999,999.99"  ;
        COLSIZES 55, 25,130,50,90,90,140,140,50,90,120 ;
        ARRAY aData       ;
        SIZE 800,80 PIXEL  NOBORDER


        ADD COLUMN TO XBROWSE oBrowse

        WITH OBJECT oBrowse
                :nRowHeight    := 30

               WITH OBJECT  oBrowse:aCols[ 11]
                  :nFooterType      := AGGR_SUM
                  :cEditPicture := "€ 99,999.99"
                  :cFooterPicture := "€ 99,999.99"
               END


                      :MakeTotals()
                      :lfooter          := .T.
                      :lHscroll         := .F.
                      :l2007            := .F.
                      :l2015            := .T.
                      :nStretchCol  := STRETCHCOL_WIDEST
                      :lAllowRowSizing     := .F.
                      :lAllowColSwapping   := .F.
                      :lAllowColHiding     := .F.
                      :nMarqueeStyle       := MARQSTYLE_HIGHLROWMS
                      :CreateFromCode()


    END

ACTIVATE DIALOG oDlg CENTERED;
                on init INsertData(aData,oBrowse)

return nil

Function INsertData(aData,oBrowse)

                    Local cIcoPro :=1 ,;
                          cTipo   :="S" ,;
                          cDescPro :="Servizio",;
                          nQta   :=1  ,;
                          nPreUni :=10 ,;
                          nTotQta :=1 ,;
                          dDataIni :=date(),;
                          dDataFin :=date(),;
                          nGiorni :=3 ,;
                          nSconto := 0 ,;
                          nTotaleRiga:=  nPreUni*nGiorni,;
                          nInvoice :="1234567",;
                          lPrintA4 :=.t.,;
                          lPrintPos:=.t.,;
                          cStruttura:="",;
                          cDescBreve:="",;
                          nPrezzoBase:=6



 AaDd(aData,{  cIcoPro  ,;
                          cTipo    ,;
                          cDescPro ,;
                          nQta     ,;
                          nPreUni  ,;
                          nTotQta  ,;
                          dDataIni ,;
                          dDataFin ,;
                          nGiorni  ,;
                          nSconto  ,;
                          nTotaleRiga ,;
                          nInvoice ,;
                          lPrintA4 ,;
                          lPrintPos,;
                          cStruttura,;
                          cDescBreve,;
                          nPrezzoBase  })

 oBrowse:MakeTotals()
 oBrowse:refresh()
return adat
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: error on xbrowse footer

Post by nageswaragunupudi »

Code: Select all

               WITH OBJECT  oCol
                  :nFooterType      := AGGR_SUM
                  :cEditPicture     := "€ 99,999.99"
                  :cDataType        := "N"
               END
 
In case of empty arrays we need to inform the datatype of the column by setting cDatatype
Regards

G. N. Rao.
Hyderabad, India
User avatar
Silvio.Falconi
Posts: 4956
Joined: Thu Oct 18, 2012 7:17 pm

Re: error on xbrowse footer

Post by Silvio.Falconi »

thank now run ok
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
Post Reply