2010-03-25 36 views
3

我正在嘗試爲dojox.grid創建一個按鈕構件。
我的問題是:
1)該按鈕僅在雙擊網格時顯示。
2)我無法弄清楚如何通過聲明性標記來設置屬性。似乎markupFactory函數負責它,但它不設置小部件的標籤。 下面的代碼演示了什麼,我這麼遠:如何爲dojox.grid.cells.dijit創建一個新的小部件?

dojo.require("dojox.grid.DataGrid"); 
dojo.require("dojo.data.ItemFileWriteStore"); 
dojo.require("dijit.form.Button"); 
dojo.require("dojox.grid.cells.dijit"); 
dojo.require("dojo.parser"); 
dojo.declare("dojox.grid.cells.Button", dojox.grid.cells._Widget, { 
    widgetClass: dijit.form.Button, 
    alwaysEditing: true, 
    constructor: function(inCell) 
    { 
    this.inherited(arguments); 
    this.widget = new dijit.form.Button; 
    }, 
    setValue: function(inRowIndex, inValue){ 
    if (this.widget) { 
       this.widget.attr('value', inValue); 
      } 
      else { 
       this.inherited(arguments); 
      } 
    } 
}); 

dojox.grid.cells.Button.markupFactory = function(node, cell) 
{ 
    dojox.grid.cells._Widget.markupFactory(node, cell); 
} 

回答

2

對於1)當我雙擊網格中的按鈕時,纔會顯示。

集singleClickEdit:在網格中真正的參數

this.grid = new dojox.grid.DataGrid({ 
    singleClickEdit: true, 
    structure: view1, 
}, tmp); 
+0

我能做到這一點專門爲按鈕控件? – 2010-06-11 21:01:45

相關問題