使用鼠标事件在dojo dgrid中触发编辑模式很容易。这就是我所做的:
editor({field: "checkNumber",label: "Check Number",editOn: "click"})
但是,我想使用键盘触发编辑模式。具体来说,当我按空格键时,我想进入编辑模式。如何以编程方式将单元格设置为“编辑模式”'或者'非编辑模式'?
答案 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);
您可以使用cell
,right
,left
或up
函数代替down
函数。
希望有所帮助。