Howdy all

 

I’ve got stuck trying to manage Tables – over 12 hours now and I’m out of 
ideas!. ☹

 

Any observations / suggestions  are most welcome…

 

I’ve been loading small external files of transactions using NeoCSV into Spec2 
tables.

I am trying to use Fuel to persist the table contents so that my application 
will re-load the working state from where I finished in the last session.

(I’ve opted for Fuel as a simple alternative to having to do the whole object 
relational mapping thing.)

 

The idea is that transactions (and potentially some manual adjustments) will be 
processed over time.

(This is preferable to having to reload all files from the beginning evert time 
I run the application…)

 

The Spec2 tables have been working well until I tried to persist them. 

I can’t seem to fully re-load them to a previously saved state.

 

For example - I can restore the essential contents of my table  in most 
circumstances using: 

 

restoreObjects

                “filePresenter1 is a SpTablePresenter”

 

                | objects savedEntry |

                objects := CpPersist restoreObjectsFromFileNamed: 
'E:\Me\zzzST-Test\demo.fuel'.

                

                recentFileList                     := objects at: 1.

                currFileFilter                       := objects at: 2.

                savedEntry                          := objects at: 3.

                                                

                self updateFilterButton: currFileFilter.

                

                filteredFileList := self filterFilesUsing: currFileFilter. 

                

                filePresenter1 items: filteredFileList.

                

                savedEntry 

ifNotNil: [filePresenter1 selectItem: savedEntry ].

 

 

However, if any of the table columns are re-sorted , the re-load operation gets 
confused and I can’t get the saved a saved selected item to become selected 
again.

 

(It seems to be confusing the index numbers of the sorted and unsorted lists – 
even when I match by contents rather than index.)

(I also created an equality test to ensure equivalent entries are recognised by 
the #= operation in the list of the underlying model ).

 

This all works fine - unless I sort a column!

 

Since this approach was going to be used on several screens I’d really like to 
find a solution.

 

Cheers

Mark

Perth, Western Australia

 

Reply via email to