使用键盘激活dojo dgrid编辑器

时间:2014-03-12 06:08:39

标签: dojo keyboard editor dgrid

使用鼠标事件在dojo dgrid中触发编辑模式很容易。这就是我所做的:

editor({field: "checkNumber",label: "Check Number",editOn: "click"})

但是,我想使用键盘触发编辑模式。具体来说,当我按空格键时,我想进入编辑模式。如何以编程方式将单元格设置为“编辑模式”'或者'非编辑模式'?

2 个答案:

答案 0 :(得分:1)

当您向网格添加一个或多个editor列时,它会使网格实例上的edit方法可用,您可以使用单元格元素(或引用其中一个的事件)以编程方式调用将焦点转移到单元格的编辑器。

同时,Keyboard mixin有addKeyHandler方法,您可以使用该方法添加处理程序以响应特定键的keydown事件。

结合这两件事,您可以轻松地执行以下操作,使网格在按下空格时编辑聚焦单元格:

grid.addKeyHandler(32, function (event) {
    grid.edit(event);
});

edit对非编辑器列中的单元格不起作用。)

另一种解决方案是创建一个extension event,可以在鼠标点击或空格键盘上触发,然后将其传递给editOn而不是'click'

答案 1 :(得分:0)

var grdobj = dijit.byId("...");    
var editCell=grdobj.cell(rowNo, "checkNumber");
grdobj.edit(editCell);

您可以使用cellrightleftup函数代替down函数。

希望有所帮助。