我創建了一個帶有extjs 4的網格。selection.CheckboxModel被實現。這意味着無論您單擊哪一行,該行都會被選中/取消選擇。現在我想在最後一列禁用此選擇,因爲它包含自定義按鈕。 (如果點擊一個按鈕,我不想選擇該行)。ExtJS 4 - Grid - 禁用特定列的rowselection
任何想法的如何做到這一點?
非常感謝提前!
我創建了一個帶有extjs 4的網格。selection.CheckboxModel被實現。這意味着無論您單擊哪一行,該行都會被選中/取消選擇。現在我想在最後一列禁用此選擇,因爲它包含自定義按鈕。 (如果點擊一個按鈕,我不想選擇該行)。ExtJS 4 - Grid - 禁用特定列的rowselection
任何想法的如何做到這一點?
非常感謝提前!
這實際上是一個棘手的小問題,如果僅僅是因爲Sencha文檔缺乏。
CheckboxModel確實有一個從Ext.selection.RowModel
繼承的beforeselect
事件。但是,坦白地說,沒有簡單的方法來獲得列索引,這就是RowModel的要點。
然而,有一個在Ext.view.Table
無證事件(該網格將繼承)呼籲beforecellmousedown
。這裏的事件參數:
所以,你可能會嘗試這樣的事:
viewConfig: {
listeners: {
beforecellmousedown: function(view, cell, cellIdx, record, row, rowIdx, eOpts){
if(cellIdx === indexOfLastColumnInGrid){
return false;
}
}
}
}
兩個單元格和行索引是從零開始的。
親愛的Aliaksei,謝謝你的回覆。 – user1245146 2012-03-02 14:30:06
在'之前選擇'內,我如何檢查點擊哪個列? – user1245146 2012-03-02 14:30:53
listeners: {
beforecellmousedown: function(view, cell, cellIdx, record, row, rowIdx, eOpts) {
if (String(eOpts.getTarget()) == '[object HTMLButtonElement]') {
return false;
}
}
}
Thanx Eric。這是我最終的解決方案!
謝謝Eric!我會試一試! – user1245146 2012-03-02 20:16:15