Saving lots of editable data - best practices?

All,

In my app., I am displaying the contents of a spreadsheet that the user
uploads in a XLS/CSV file (thanks parseexcel & fasterCSV!), and then
saving it into tables internally. I would like to make this data
editable in my app. in a spreadsheet-like display.

I am trying to think about the best way to handle the data update to the
server.

Here are my thoughts. I am looking for advice on how best to handle
updating this spreadsheet data.

  1. Naively, creating an input field for every “cell” and posting all of
    them seems unwieldy and prone to break on larger data sets. Pretty sure
    that I don’t want to do that.

  2. Obviously, the display of the data has to be paged for non-trivial
    data sets, so I could have a way to detect that a “page” “lost focus”
    (user moved to another “page”). This would be AJAX enabled.

  3. I could go super fine-grained and actually observe each “cell” and do
    an AJAX update on it as it lost focus. This could be too intensive
    though.

I feel like approach #2 is the correct balance between functionality and
performance.

Does anyone have any advice on how best to do this? In particular, nice
datagrid component references would be cool. I just heard of
XSLDataGrid, which I will be looking into.

Thanks,
Wes