我正在尝试为dojox.grid创建一个按钮小部件
我的问题是:
1)只有双击网格时才会显示该按钮
2)我无法弄清楚如何通过声明性标记设置属性。似乎markupFactory函数负责它,但它没有设置小部件的标签。
以下代码演示了到目前为止我所拥有的内容:
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);
}
答案 0 :(得分:2)
For 1)只有在双击网格时才会显示该按钮。
在Grid参数中设置singleClickEdit:true
this.grid = new dojox.grid.DataGrid({
singleClickEdit: true,
structure: view1,
}, tmp);