Re: control columns to edit and override value in cell
Ok, I have tweaked your code a bit, but the "jumping around" that you noticed is actually a minor bug in the table'ss setSelectedRow() logic that focuses on the newly selected row, but fails to translate for the sorting. This has been fixed for 3.3.2.
As for overwriting the cell on edit - I agree that would be better. I'll add this as a feature request.
if(event.keyCode == 10):
if(event.source.selectedColumn == 3):
event.source.selectedColumn = 2
elif(event.source.selectedColumn == 2):
def setLater(row = event.source.selectedRow, event=event):
event.source.selectedColumn = 3
# to counteract the default enter keypress behavior
event.source.selectedRow = row