Handling Large Collections in a Table presentation.
Posted: Fri Aug 07, 2009 11:39 am
by Paul Mathews >> Thu, 10 Dec 1998 1:15:38 GMT
Fast handling large collections in Jade in Tables, diffentiates Jade greatly from SQL based
solutions (remember SQL was originally a reporting tool, not designed for online inquiry of
collections with millions of records).
Previously we have used other busines orientated tools, SPEED II and Progress Version 6 (before they lost the plot in 7, 8 and soon to be 9), which effectively handled this albeit with some limitations (SPEEDII couldn't go backwards, and only forwards from it's start point).
Potentially another benefit of this approach is it will be able an advantages presentation over the web, currently the default for tables over the web is for NO SCROLL BAR, ALL ROWS are displayed. Will test soon when WEB Enable CMSchema and CmBase.
Enough, bumf, the approach is summarised below and the details are downloadable from cmsystemsgroup.com.au.
This is demonstrated in our form FCMTestTemp in CMBase.
CMFTable has been extended to have an iterator reference on it.
This is created, eg aCMFTable[1].myIterator := app.allTest.createIterator;
The CMFTable taTest is set up to ONLY ever have 10 rows (9 of which are displayable).
Hi Grant, again, I am not sure where it is best for this to be posted on the newsgroups, could you add at the appropriate place.
A local collection has been added to FCMTestTemp, zCollection, which is always of size 9.
Hence with this table just need to pageUp, pageDown, home, end, cursorUp (offHome), CursorDown (offEnd) and Reposition. These are all handled in the syncTable Method within CMForm.
The main trick is not to get hungup on the scrollBar, for the Table. At the moment there deliberately is not one. The First,Previous,Next and Last Buttons are enabled on CMForm and their key strokes can be used to move rapidly around the data.
Positioning oneself in a large Table is also demonstrated.
A similar solution for ListBoxes could also be implemented.
In both cases another optional type of ScrollBar which has Up,Previous,Home and End,Next,Down Arrows on it would be more appropriate.
Also at the moment in the iterator I cannot give the position, in showInstance, I could if the startAtObject Method returned the integer Relative position.
Regards,
Paul Mathews - C & M Systems Group
Phone: [612] (99717384) Fax[612] (99711679)
(Dee Why,Sydney,Australia)
Please visit our homepage cmsystemsgroup.com.au.
Fast handling large collections in Jade in Tables, diffentiates Jade greatly from SQL based
solutions (remember SQL was originally a reporting tool, not designed for online inquiry of
collections with millions of records).
Previously we have used other busines orientated tools, SPEED II and Progress Version 6 (before they lost the plot in 7, 8 and soon to be 9), which effectively handled this albeit with some limitations (SPEEDII couldn't go backwards, and only forwards from it's start point).
Potentially another benefit of this approach is it will be able an advantages presentation over the web, currently the default for tables over the web is for NO SCROLL BAR, ALL ROWS are displayed. Will test soon when WEB Enable CMSchema and CmBase.
Enough, bumf, the approach is summarised below and the details are downloadable from cmsystemsgroup.com.au.
This is demonstrated in our form FCMTestTemp in CMBase.
CMFTable has been extended to have an iterator reference on it.
This is created, eg aCMFTable[1].myIterator := app.allTest.createIterator;
The CMFTable taTest is set up to ONLY ever have 10 rows (9 of which are displayable).
Hi Grant, again, I am not sure where it is best for this to be posted on the newsgroups, could you add at the appropriate place.
A local collection has been added to FCMTestTemp, zCollection, which is always of size 9.
Hence with this table just need to pageUp, pageDown, home, end, cursorUp (offHome), CursorDown (offEnd) and Reposition. These are all handled in the syncTable Method within CMForm.
The main trick is not to get hungup on the scrollBar, for the Table. At the moment there deliberately is not one. The First,Previous,Next and Last Buttons are enabled on CMForm and their key strokes can be used to move rapidly around the data.
Positioning oneself in a large Table is also demonstrated.
A similar solution for ListBoxes could also be implemented.
In both cases another optional type of ScrollBar which has Up,Previous,Home and End,Next,Down Arrows on it would be more appropriate.
Also at the moment in the iterator I cannot give the position, in showInstance, I could if the startAtObject Method returned the integer Relative position.
Regards,
Paul Mathews - C & M Systems Group
Phone: [612] (99717384) Fax[612] (99711679)
(Dee Why,Sydney,Australia)
Please visit our homepage cmsystemsgroup.com.au.