FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Xbrowse Header possible to change at runtime ?
Posts: 866
Joined: Tue Oct 16, 2007 08:57 AM
Xbrowse Header possible to change at runtime ?
Posted: Wed Jan 06, 2016 09:32 AM
Hi
I have two DBF and relationship.
1 DBF data below:
A ->set A1 A2 A3
B ->set B1 B2 B3
C ->set C1 C2 C3
D ->set D1 D2 D3
......

When 1.Xbrowse show A data, 2.XBrowse need to show A1 A2 A3 within Header and runtime
When 1.Xbrowse show B data, 2.XBrowse need to show B1 B2 B3 within Header and runtime

Code (fw): Select all Collapse
      ::oCol := ::oBrw:AddCol()
      ::oCol:cHeader       := "A1"
      ::oCol:nHeadStrAlign := AL_CENTER
      ::oCol:bStrData      := { || ::oDB:Data1 }
      ::oCol:nWidth        :=  90

      ::oCol := ::oBrw:AddCol()
      ::oCol:cHeader       := "A2"
      ::oCol:nHeadStrAlign := AL_CENTER
      ::oCol:bStrData      := { || ::oDB:Data2 }
      ::oCol:nWidth        := 120
      
      ::oCol := ::oBrw:AddCol()
      ::oCol:cHeader       := "A3"
      ::oCol:nHeadStrAlign := AL_CENTER
      ::oCol:bStrData      := { || ::oDB:Data3 }
      ::oCol:nWidth        :=  90
Best Regards,



Richard



Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 32bit

MySQL v8.0

Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 64bit
Posts: 205
Joined: Fri Oct 07, 2005 05:07 PM
Re: Xbrowse Header possible to change at runtime ?
Posted: Wed Jan 06, 2016 10:34 AM
Also:
Code (fw): Select all Collapse
...
...

Static Function ChangeBrw( oBrw, oDb )

  oBrw:aCols[ 1 ]:cHeader := oDb:FieldName( 1 )
  oBrw:aCols[ 1 ]:bStrData := { || oDb:FieldGet( 1 ) }

  oBrw:aCols[ 2 ]:cHeader := oDb:FieldName( 2 )
  oBrw:aCols[ 2 ]:bStrData := { || oDb:FieldGet( 2 ) }

  oBrw:aCols[ 3 ]:cHeader := oDb:FieldName( 3 )
  oBrw:aCols[ 3 ]:bStrData := { || oDb:FieldGet( 3 ) }

  oBrw:SetoDbf( oDb )
  oBrw:Refresh()
Saludos/regards

RenOmaS



skype: americo.balboa
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Xbrowse Header possible to change at runtime ?
Posted: Thu Jan 07, 2016 02:52 AM
You can change headers at any time during runtime.
In your case suggest you incorporate the change in First Browses' bChange codeblock.

Assume field name CODE has values 'A', 'B', 'C', etc in first browse ( oBrw1 )
We need to change headers of second browse : oBrw2

Then
Code (fw): Select all Collapse
oBrw1:bChange := { || oBrw2:cHeaders := { FIELD->CODE + '1', FIELD->CODE + '2', FIELD->CODE + '3' }, oBrw2:RefreshHeaders() }
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion