News & Updates
For many years the Spirit interface has used a very cute feature of Microsoft Internet Explorer called Databinding to manage the display of large-ish datasets of say >500 rows.
Databinding basically allows you to bring a dataset into an html page as an xml object. You then bind the xml to a single row table and an ActiveX component takes care of rendering one row for each tag of XML and fills each cell with the value of a child cell.
On the whole this works pretty well; you can nest tables to produce groupings, use XSLT to do client-side sorting of the XML ( which propogates automatically to the table ) and paginating your data's pretty straight forward....
... but it is a bit limited. Why? Well partly the size of the data partly because of the parsing overhead of XML but largely because it's IE only.
So what's the alternative? You have to manage the binding of the data yourself! And that's what this article is really about!
Below is the first alpha of the data-table we're building to replace XML databinding in Spirit and one it's in a reasonable state we intend to properly release it for others to use.
This is also not just about the client-side model. There are other really important considerations at play here. Our motivations are as follows:
The basic premise for building the table is as follows:
We then wait for user interaction before doing anything else.
Here's an example. Just hit "Go" to load a few thousand record dataset.. [ I wouldn't try it in Opera of Safari just yet! ;-) ]
I've been having a bit of fun because our own CSS on this page is interfering! There's an isolated and extended demo here.
You can also, if you like sort by forename or surname, change the fontsize to bigger or smaller, make the table bigger, or grow the size of a column...
... lastly, if you're using Firefox - try gently reloading the page.... you should reap the benefit of 304s...
There's obiously a lot still to do. This is merely a proof of concept, but we think it's starting to show potential as a replacement for IE specific databinding...
Care to comment?