FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour xbrowse - SetArray
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
xbrowse - SetArray
Posted: Sun Dec 30, 2007 09:11 PM
Now, SetArray method resets all columns already defined if any ( ::aCols := {} ). If we use the new command set provided for xbrowse like this :

function xbrindialog( alin )
local odlg, obrw

	define dialog odlg size 640,440 pixel

	@ 10,10 xbrowse obrw ;
		fields str(alin[obrw:narrayat][1],2), ;
				 alin[obrw:narrayat][2], ;
				 alin[obrw:narrayat][3]  ;
		headers 'cod','description','cd' ;
		size 300,200 pixel of odlg
        // at this stage the columns are arleady defined
	obrw:setarray(alin)  // now setarray erases all the column defs

	obrw:createfromcode()
	activate dialog odlg centered

	return nil

If the following change is made in SetArray method to automatically define the columns only if the columns are not already defined, the above code works as expected. The suggested change is
if empty( ::acols )  // NEW
    ::aCols := {}
    for nFor := 1 to len( aData[ 1 ] )
         < ........... code ......... >
   next
endif  // NEW

With this change the above code works well
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion