2014-03-12 56 views
0

使用鼠標事件在dojo dgrid中觸發編輯模式非常簡單。這是我所做的:使用鍵盤激活dojo dgrid編輯器

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

但是,我想觸發編輯模式使用鍵盤。具體來說,當我按空格鍵時,我想進入編輯模式。我如何以編程方式將單元格設置爲「編輯模式」或「非編輯模式」?

+0

現在默認爲 – tik27

回答

1

當添加一種或多種editor列的網格,它使對電網實例,該實例可以與電池元件調用(或事件引用一個)以編程焦點切換到編輯器的可用的edit方法細胞。

同時,Keyboard mixin有一個addKeyHandler方法,您可以使用該方法來添加處理程序以響應特定鍵的​​事件。

這兩個東西結合,你可以很容易做到以下,以使電網編輯焦點的單元格按空間時:

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

edit應該有一個非編輯列細胞沒有影響。 )

另一種解決方案可能是創建一個extension event,它會在鼠標單擊或空間鍵盤按下時觸發,並將其傳遞到editOn而不是'click'

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

代替cell功能,你可以利用rightleftup,或down功能。

希望有所幫助。