Spreadsheet Component
It has a couple advantages over the Flex DataGrid class including:
- Focused on data entry instead of data display.
- Full keyboard navigation
- Arrow or tab keys to move between cells
- When editing a cell, arrows move cursor instead of cells
- "Placeholder" rows.
- Automatically created as they're needed.
- Dimmed out rows that aren't in the dataprovider until they're edited.
- Uses a IFactory to create your value objects on the fly so you get any field validation that your value object implements.
- Partitions
- You can partition your data for display any way you like, independent of how it's stored.
- Each partition can have different default values for fields.
- A row can be in 1 or more partitions.
- Expandable/Collapsible
- Autocompletion
- Comes standard just by specifying a list of possible values.
- Custom item renderers/editors
- Enhanced functionality if your editor implements a special interface, but that isn't required.
- Full sorting of columns (without modifying the underlying data).
- Multi-cell selection and editing capabilities
- Copy/Paste multiple cells
- Clear multiple cells at once
- etc.
http://rogue-development.com/SpreadsheetDemo.swf
(Edit, changed URL of demo movie since my Jing quota is quickly approaching)
Labels: Spreadsheet
15 Comments:
DOOD I'm in love and I Don't care WHO finds out!!!
LOVE YOU. LOVE YOU. LOVE YOU.
By
Unknown, At
11/25/2007 7:10 PM
This is great stuff. You are really creating a great component. Will you be open sourcing it? I would like to offer myself to help with its progression.
Great work Marc.
By
Anonymous, At
11/25/2007 9:06 PM
Excellent work, when it will be released?
By
True Panda, At
11/25/2007 11:51 PM
Looks cool :) Actually I started to do the same component but it's more excel-like and oriented. If you're interested, i could send a demo.
By
Andrii Olefirenko, At
11/25/2007 11:58 PM
Will this be for sale component or will you make it free?
By
Erki Esken, At
11/26/2007 12:31 AM
Thanks for the feedback, nice to know others would like something like this as well. This was just a teaser to see how much interest there is.
It's a long ways from being useable by other people. Right now all the styles are hard coded in and the documentation is non-existent. I also need to fix a bunch of very major bugs. Oh yeah, it doesn't listen for changes to it's datapovider yet which is pretty important :)
I haven't yet decided how I'll distribute it.
By
Marc, At
11/26/2007 4:12 AM
Oh! Just to be clear...
I have great respect for the DataGrid component and the people who did it. It's a great component for displaying data, and as far as I can tell, that was it's focus.
The thing that amazes me about the DataGrid is how you can throw just about anything at it, and it'll try to display it. Arrays, ArrayCollections, XML lists, and you can even have mixed types in those!
** From here on out is pure speculation from me, I have no idea if any of it is true. **
Unfortunately I think they had conflicting design goals.
1) Make it powerful
2) Make is easy to use
3) Make it fast
4) Make it configurable
And it's those base conflicting goals that causes much of the complexity in the code base. It's this complexity that causes most of the frustration for people wishing to extend it's functionality.
I'm fortunate in that I only have to please myself and I get to choose the goals. This component won't be trying to accomplish #2 at all.
By
Marc, At
11/26/2007 4:46 AM
Dude, this looks cool. I have been battling DataGrid myself, though I don't hate it enough to start writing my own.
Are you thinking about making it pluggable what the editors for cell values can be? Cause in your (cool) video, it seems to be text fields most of it!?
By
Anonymous, At
11/26/2007 1:46 PM
To help expedite a release, let me know when you need help with the docs for this.
By
Anonymous, At
11/26/2007 1:56 PM
I do support custom editors and custom renderers.
Those custom components can optionally implement a special interface. If they do that, then the spreadsheet component feeds them a lot of additional information and will listen for several events out of them. This is probably one of the biggest benefits.
But I'll need to really test the limits of the system I have in place at some point.
Thanks for the offer Chris, I'll keep you in mind.
By
Marc, At
11/26/2007 2:20 PM
Congratulations Marc,good job.
By
Anonymous, At
12/01/2007 3:22 PM
Congratulations, but.... where is the source?
By
Anonymous, At
12/03/2007 3:47 AM
nice ! i just hope you implement the autocompletion using ctrl+spacebar i just dont like editors that shows autocopletion without asking for it
By
Unknown, At
12/03/2007 11:37 AM
Marc,
The demo rocks.
I love/hate datagrids.
Please, please release this as a Flex component so all I have is love again for datagrids.
CD
By
Anonymous, At
2/19/2008 8:27 AM
Hi Marc,
Nice demo. Looks great. I've uploaded an example and source code of calculatable fields (i.e. SUM, MAX, COS) in the datagrid control which may also be of some interest. It's available here:
http://drrflexblog.blogspot.com/
By
R O'Brien, At
3/09/2008 1:50 PM
Post a Comment
Subscribe to Post Comments [Atom]
<< Home