FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour columnas en xbrowse
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
columnas en xbrowse
Posted: Mon Jun 28, 2010 06:21 PM
Hola estoy probando el xbrowse y al querer mostrar las columnas de una base de datos, no me muestra el orden que yo le indico sino por la estructura en que est谩 la base de datos


oCol := olbx:aCols[1]
oCol:cHeader := "Codigo"
oCol:bEditValue := {|| oCheque:codigo} // AQUI ME MUESTRA FECHA DE INGRESO
oCol:cEditPicture := "999999999"

oCol := olbx:aCols[2]
oCol:cHeader := "Banco"
oCol:bEditValue := {|| oCheque:banco} /[color=#FF0000]/ AQUI ME MUESTRA LO QUE CORRESPONDE AL SIGUIENTE CAMPO DE LA BASE/color]
oCol:cEditPicture := "@!"


ETC
Los headers me los muestra bien



Tengo fwh 712, xharbour 2.1, bcc58

Querr铆a saber si es un problema de la versi贸n de fwh 贸 que me falta algo en el c贸digo

Gracias desde ya
Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM
Re: columnas en xbrowse
Posted: Thu Jul 01, 2010 04:20 AM
a si lo hago yo :-)
Code (fw): Select all Collapse
 
        dbselectarea( "vida" )
        dbgotop()
             oApp:vIDAPOLIZA:=lastrec()
        sum vida->pagado to oApp:vIDAVALOR
        dbgotop()

              @ 00,00 XBROWSE oApp:oBrwX2 OF oFld:aDialogs[3] FIELDS ALLTRIM(vida->NOMBRE) +" "+ ALLTRIM(vida->APELLIDO_P) +" "+ ALLTRIM(vida->APELLIDO_M),;
                                                 vida->R_POLIZA  ,;
                                                    vida->POLIZA   ,;
                                                  vida->pagado  ,;
                                                  vida->comp;
            COLSIZES 250 , 100 , 100 , 100,200  SIZE 750,211;
            JUSTIFY AL_LEFT,AL_CENTER,AL_CENTER,AL_LEFT,AL_CENTER;
            PICTURES "@!","@!","@!", "999,999,999","@!";
            HEADERS  "        Nombre               ", "    Poliza VIDA   ", "      Inciso      ","Pagado ", "Compa帽ia";
            ON CLICK(Sndplaysound("beep1.wav"),oApp:GETNOM:=ALLTRIM(vida->NOMBRE) +" "+ ALLTRIM(vida->APELLIDO_P) +" "+ ALLTRIM(vida->APELLIDO_M),oApp:OGETN:Refresh(),;
oApp:gett:=vida->TEL1,oApp:oGETT:Refresh(),oApp:GETT2:=vida->TEL2,oApp:oGETT2:Refresh(),oApp:GETDIREC:=ALLTRIM(vida->DIRECCION) +" Col. " + ALLTRIM(vida->COLONIA),;
oApp:oGETDIREC:Refresh(),oApp:gETCIU:=vida->poblacion,oApp:oGETCIU:Refresh(),oApp:MeMiTo:=vida->comentario,oApp:mCOmmENtS:Refresh(),oApp:gETPOL:=vida->Poliza,;
oApp:oGETPOL:Refresh(),oApp:gETINC:=vida->inciso,oApp:oGETINC:Refresh(),oApp:RAMO:="VIDA",oApp:oRAMOS:Refresh(),oApp:rFICHA:=vida->ficha,oApp:oFICHA:Refresh(),oApp:cFichero:=vida->pdf)
 oApp:oBrwX2:cTooltip :={ "POLIZAS DE VIDA (C)Copyright 2008 - Por Aida Sistemas S.A.", "POLIZARIUM",1,CLR_WHITE,CLR_GREEN }


          oApp:oBrwX2:l2007 := (.t.)

          oApp:oBrwX2:bClrStd:= {|| { IIF(vida->CANCELADA="S",Rgb(255,0,0),CLR_BLACK) , IIF(OrdKeyNo()%2=0,Rgb(193,221,255),Rgb(221,245,255))  } }

         oApp:oBrwX2:bClrRowFocus    := { || { CLR_BLACK, RGB(185,220,255) } }
       oApp:oBrwX2:nMarqueeStyle   := MARQSTYLE_HIGHLROWMS

      XbrStyles( oApp:oBrwX2 )

            oApp:oBrwX2:bClrRowFocus := { || { CLR_BLACK, RGB(185,220,255) } }
            oApp:oBrwX2:lFooter  := .T.
                oApp:oBrwX2:aCols[ 1 ]:nDataStrAlign:= AL_LEFT
                oApp:oBrwX2:aCols[ 1 ]:bFooter       :={ ||"Total de primas pagadas--->" }

            oApp:oBrwX2:aCols[ 4 ]:bFooter       := { || oApp:vIDAVALOR  }

            oApp:oBrwX2:lFastEdit     := .F.
            oApp:oBrwX2:SetRDD()

        oApp:oBrwX2:lTransparent := .t.

             cImage="ima\01.jpg"

            oApp:oBrwX2:SetBackGround( cImage)

             oApp:oBrwX2:CreateFromCode()
             oApp:oBrwX2:oclient := oApp:oWnd
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

s茅蕦菨晒 谉蓯 蓯蕠s菨 opun莎 菨蕠s菨
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: columnas en xbrowse
Posted: Thu Jul 01, 2010 10:56 PM

Coloca como definistes la DATABASE y como estas usando el select y defines el xbrowse, asi seria mas facil ayudarte...saludos.. :shock:

Dios no est谩 muerto...



Gracias a mi Dios ante todo!
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: columnas en xbrowse
Posted: Fri Jul 02, 2010 11:43 PM
I understand you are using FWH 7.12. Native support for TDatabase objects in XBrowse was introduced from version 8.03. In version 7.12 we have to first set the TDatabase object to by writing the navigational codeblocks ourselves.

In your case the TXBrowse is showing the DBF directly and not using your Database object.

In older versions this is the way to browse TDatabase objects:
Code (fw): Select all Collapse
#include 'fivewin.ch'
#include 'xbrowse.ch'

function Main()

聽 聽local oWnd, oBrw, oDbf

聽 聽USE CUSTOMER SHARED
聽 聽DATABASE oDbf

聽 聽DEFINE WINDOW oWnd

聽 聽oBrw 聽:= TXBrowse():New( oWnd )

聽 聽XBrSetTData( oBrw, oDbf )

聽 聽WITH OBJECT oBrw:AddCol()
聽 聽 聽 :cHeader 聽 聽 聽 := 'First'
聽 聽 聽 :bEditValue 聽 聽:= { || oDbf:First }
聽 聽 聽 :cEditPicture 聽:= '@!'
聽 聽END

聽 聽WITH OBJECT oBrw:AddCol()
聽 聽 聽 :cHeader 聽 聽 聽 := 'Salary'
聽 聽 聽 :bEditValue 聽 聽:= { || oDbf:Salary }
聽 聽 聽 :cEditPicture 聽:= '999,999,999.99'
聽 聽END

聽 聽oBrw:CreateFromCode()
聽 聽oWnd:oClient := oBrw

聽 聽ACTIVATE WINDOW oWnd

return nil

function XBrSetTData( oBrw, oDbf )

聽 聽WITH OBJECT oBrw
聽 聽 聽 :bGoTop 聽 聽 聽 聽:= { || oDbf:GoTop() }
聽 聽 聽 :bGoBottom 聽 聽 := { || oDbf:GoBottom() }
聽 聽 聽 :bSkip 聽 聽 聽 聽 := { |n| oDbf:Skipper( If( n == nil, 1, n ) ) }
聽 聽 聽 :bBof 聽 聽 聽 聽 聽:= { || oDbf:Bof() }
聽 聽 聽 :bEof 聽 聽 聽 聽 聽:= { || oDbf:Eof() }
聽 聽 聽 :bKeyCount 聽 聽 := { || ( oDbf:cAlias )->( OrdKeyCount() ) }
聽 聽 聽 :bKeyNo 聽 聽 聽 聽:= { |n| If( n == nil, ( oDbf:cAlias )->( OrdKeyNo() ), ( oDbf:cAlias )->( OrdKeyGoTo( n ) ) ) }
聽 聽 聽 :bBookMark 聽 聽 := { |n| If( n == nil, oDbf:RecNo(), oDbf:GoTo( n ) ) }
聽 聽END

return nil





I have used customer.dbf in the fwh\samples folder for the above example You may adopt to your database.

You may use the above general function XBrSetTData( oBrw, oDbf ) to set any TDatabase object to any XBrowse.


With the recent versions of FWH, all the above code can be written in just one line of code.
Here is an example:
Code (fw): Select all Collapse
#include 'fivewin.ch'
#include 'xbrowse.ch'

function Main()

聽 聽local oWnd, oBrw, oDbf

聽 聽USE CUSTOMER SHARED
聽 聽DATABASE oDbf

聽 聽DEFINE WINDOW oWnd

聽 聽@ 0,0 XBROWSE oBrw OF oWnd COLUMNS 'First', 'Salary' OBJECT oDbf

聽 聽oBrw:CreateFromCode()
聽 聽oWnd:oClient := oBrw

聽 聽ACTIVATE WINDOW oWnd

return nil
Regards



G. N. Rao.

Hyderabad, India
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: columnas en xbrowse
Posted: Fri Jul 02, 2010 11:55 PM

Estoy usando la clase tmysql no prob茅 con database y en la clase se llama al xbrowse as铆

olbx := TxBrowse():New( oDlg )
oLbx:CreateFromResource( 107 )
setxbrowseold( oLbx, oQry)

Williams Morales me indico que tengo dos parametros mas que hay en setxbrowseold para pedir los campos que quiero utilizar, voy a probar si funciona de esa forma

Gracias por sus respuetas.

Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: columnas en xbrowse
Posted: Sat Jul 03, 2010 12:08 AM

Gracias G. N. Rao. por la explicaci贸n y el detalle para poder usar database con xbrowse

Luis

Continue the discussion