Marc Hughes

I am a developer from a bit west of Boston.

Spreadsheet Component

25 Nov 2007


I'm working on a spreadsheet like component for AgileAgenda that I might end up turning into a general-purpose flex component at some point.

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.
Soon I'll be adding:
  • 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.
Here's a quick screen cast of what's working so far:

(Edit, changed URL of demo movie since my Jing quota is quickly approaching)