There is a dgrid/Grid::edit(cell) to start.
I used dojo/aspect::after to add an event listener to the editor widget (e.g. dijit/form/TextBox ), if it does not exist, listen for the keypress event for a specific key, in my case TAB, and then call grid.edit(cell) with the cell to be edited as follows.
See a working example in jsFiddle: http://jsfiddle.net/phusick/2jU7R/
This is far from over, but at least it can provide a possible reference. Double-click to edit and press TAB while editing to go to the next cell.
aspect.after(grid, "edit", function(promise, cellNode) { if(promise === null) return; promise.then(function(widget) { if (!widget._editorKeypressHandle) { widget._editorKeypressHandle = widget.on("keypress", function(e) { for (var rowId in grid.selection) { break;} for (var columnId in grid.selection[rowId]) { break;} if(e.charOrCode == keys.TAB) { e.preventDefault(); var cellEdited = grid.cell(rowId, columnId); var cellToEdit = grid.right(cellEdited, 1); if(cellEdited.row.id == cellToEdit.row.id && cellEdited.column.id == cellToEdit.column.id ) {
source share