Enable application driven selection and editing via click and double click ajax events. Try double clicking on a cell to edit it. After editing it, double click again on the same cell to save changes. Try clicking on any row to select it. Click on it again to deselect it. All this is done in the bean, by manipulating the table's row state map object.
When entering edit mode, a utility function is called from the ajax action listener to automatically select the text of the input field in the cell, in order to be able to start editing right away.