似乎我能够解决这个问题。这篇文章对我有帮助:
动态控制 dojo DataGrid 列的编辑模式
这是一个最终的解决方案:
var customOnEditActivate = function(e){
var event;
if(this._click.length > 1 && has('ie')){
event = this._click[1];
}else if(this._click.length > 1 && this._click[0].rowIndex != this._click[1].rowIndex){
event = this._click[0];
}else{
event = e;
}
this.focus.setFocusCell(event.cell, event.rowIndex);
this.onRowClick(event);
this.edit.setEditCell(event.cell, event.rowIndex);
this.onRowDblClick(e);
};
wordsGrid = new dojox.grid.EnhancedGrid({
query : ...,
store : ...,
singleClickEdit: false,
selectionMode:"single",
....
}, container);
dojo.connect(wordsGrid, "onCellDblClick", customOnEditActivate);
所以即使没有连接到 onCellDblClick 也会触发编辑事件。但似乎 customOnEditActivate 中的代码对网格属性有一些魔力并解决了这个问题。如果有人有其他解决方案 - 请分享!