我正在尝试为 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);
}
最佳答案
对于1)只有当我双击网格时才会显示该按钮。
在网格参数中设置 singleClickEdit: true
this.grid = new dojox.grid.DataGrid({
singleClickEdit: true,
structure: view1,
}, tmp);
关于dojo - 如何为 dojox.grid.cells.dijit 创建新的小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2520007/