XSLDataGrid / Sarissa / AJAXSLT
June 16th, 2006 Author: Lindsey Simon
Two weeks later …
With some tinkering and coding, now I’m really jazzed about the idea of clientside XSLT for widget creation. With Sarissa, it’s not slow at all. Hats off to Manos Batsis for Sarissa, he’s done some really cool work. And for those who want to do it on the server, being able to leverage the exact same code and technique seems really great to me. A dispatcher could even look at the bandwidth of the client and the version of the browser to decide how to optimally deliver the experience. To read about the advantages I see to this approach overall, check out a prior post Google’s AJAXSLT and UI Widgetry Thoughts. I’m getting most of the original DataGrid features working in this XSLT version, so check back as this demo page will get updated. I’d like to offer some profiling statistics too, but even with recordsets of 200 rows, I can barely tell the difference between the Sarissa client-side transform speed and the server/render speed.
References:
The XSL file: XSLDataGrid.xsl
Sarissa
Google’s AJAXSLT
Below is a test page to tinker with:
Entry Filed under: User Interface
11 Comments Add your own
1. XSLDataGrid Ajax widget a&hellip | June 23rd, 2006 at 12:18 am
[...] This is a Datagrid widget that instantiates and creates its DOM decoration all via server or client side XSLT. Yes! Clientside XSLT – and it works in Firefox and IE, thanks to Manos Batsis’ Sarissa library. All of the Datagrid functionality is done in Javascript and most is made easier by the heavy use of script.aculo.us and prototype.read more | digg story [...]
2. Chris Pugh | August 17th, 2006 at 11:03 am
This looks like a great widget. Have you considered adding:
1. In-line editing to the grid.
2. multiple sort columns, e.g. sort by column 1, then column 2 so both are active.
Good luck!
Chris
3. Lindsey Simon | August 17th, 2006 at 3:22 pm
Heya Chris,
To answer your questions:
RE: 1):
I am personally not fond of inline datagrid editing. I recognize its utility, but everytime I get to wanting this functionality in a real application, I start hating inline editing. Someone could definitely extend my XSLDataGrid class to create one with editability functionality, but I prefer form-based editors with confirmation screens. And there’s always Google Spreadsheets, if that’s the real functionality that you’re seeking in a component.
RE 2):
I think this would be doable, however, grouping is essentially two levels of sorting already and that’s already there.
4. Lindsey Simon | August 17th, 2006 at 3:23 pm
PS – keep your eyes peeled for a post on this site about the completed XSLDataGrid component for which this page is only a proof-of-concept of.
5. Chris Pugh | August 31st, 2006 at 1:33 pm
Hi Lindsey
Thanks for the response. Yep, Google Spreadsheets is good for complete in-line editing. I should have been a little more specific where I would only want to do inline editing on certain columns. Absolutely form-based is better when you want confirmation/validation to be front and centre.
The grouping function is excellent and I like the implementation. I need to ponder a bit on if that fits all the scenarios I am thinking about.
I’ll check out the other postings for sure. Cheers!
6. tj | September 18th, 2006 at 8:53 pm
does not work with firefox beta 2
7. egg | October 12th, 2006 at 5:29 am
Any ideas why this doesn’t work for Firefox Beta 2?…
8. egg | October 12th, 2006 at 5:58 am
Sorry, I should add.. it is only the Scoll func that doesn’t work..
9. Lindsey Simon | October 14th, 2006 at 11:59 am
Yeah, earlier version of FF2 beta shipped sans the XSLT engine. I’m not sure why the scrolling is so funky, maybe something about the event property is different? I will explore it. Thanks!
10. Patrys | October 20th, 2006 at 8:27 am
Running Fx 2.0 RC3, scrolling is still broken, client-side XSLT reports errors but that is not really important as I don’t plan to use that feature (Opera can’t do XSLT and we need to support it).
11. Lindsey Simon | October 27th, 2006 at 2:36 pm
I don’t think the FF rc’s had XSLT builtin. Opera CAN do xslt btw!
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed