title: Using ag-grid with many rows and Autosave
body: <p>I'm using ag-grid (javascript) to display a large amount of rows (about 3,000 or more) and allow the user to enter values and it should auto-save them as the user goes along. My current strategy is after detecting that a user makes a change to save the data for that row. </p>
  
  <p>The problem I'm running into is detecting and getting the correct values after the user enters a value. The <em>onCellKeyPress</em> event doesn't get fired for Backaspace or Paste. However if I attach events directly to DOM fields to catch key presses, I don't know how to know what data the value is associated with. Can I use <em>getDisplayedRowAtIndex</em> or such to be able to reliably do this reliably? What is a good way to implement this?</p>
  
  <p><strong>EDIT: Additional detail</strong></p>
  
  <p>My current approach is to capture <strong>onCellEditingStopped</strong> and then getting the data from the event using event.data[event.column.colId]. Since I only get this event when the user moves to a different cell and not just if they finish typing I also handle the <strong>onCellKeyPress</strong> and get the data from event.event.target (since there is no event.data when handling this event). Here is where I run into a hard-to-reproduce problem that event.event.target is sometimes undefined.</p>
  
  <p>I also looked at using <strong>forEachLeafNode</strong> method but it returns an error saying it isn't supported when using infinite row model. If I don't use infinite mode the load time is slow.</p>