【问题标题】:How to create a new widget for dojox.grid.cells.dijit?如何为 dojox.grid.cells.dijit 创建一个新的小部件?
【发布时间】:2011-01-31 23:27:24
【问题描述】:

我正在尝试为 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);
}

【问题讨论】:

    标签: dojo dojox.grid


    【解决方案1】:

    对于 1) 该按钮仅在我双击网格时显示。

    在 Grid 参数中设置 singleClickEdit: true

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

    【讨论】:

    • 我可以专门为按钮小部件做吗?
    猜你喜欢
    • 2011-05-12
    • 2023-01-25
    • 2020-03-08
    • 2014-06-09
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    相关资源
    最近更新 更多