【问题标题】:dojox.grid.DataGrid Custom Cell?dojox.grid.DataGrid 自定义单元格?
【发布时间】:2011-05-21 14:45:07
【问题描述】:

谁知道创建自定义单元格论坛dojox.grid.DataGrid 的方法?我当然可以使用布局的 get 和 formatter 属性,但这不是一个真正可重用的解决方案!

感谢您的意见!

海因里希

【问题讨论】:

    标签: javascript dojo dojox.grid dojox.grid.datagrid


    【解决方案1】:

    您可以尝试一种间接的方式将 dojo 小部件添加到网格单元中

    1) 将escapeHTMLInData 设置为false 用于dojox.grid.DataGrid

    2) 然后在 get/formatter 函数中尝试类似

    function formatterFn() {
        var buttonToReturn = dijit.form.Button({
            /* Button attributes */
        }
        var div = document.createElement("div");
        div.appendChild(buttonToReturn.domNode);
        return div.innerHTML;
        // You can leave the div orphan
    }
    

    您可以有条件地返回不同的小部件以满足您的需求

    希望对你有帮助!

    【讨论】:

    • 从 1.4 开始,您不再需要 escapeHTMLInData。如果格式化程序返回一个小部件,它会被解析。
    【解决方案2】:

    自定义单元格是什么意思?

    您要使用复选框还是文本框来代替文本?或

    您想显示图像而不是文本吗?

    第一种情况

    • 给出'editable'="true"
    • 设置 'singleClickEdit'="true" 和
    • 设置 cellType 变量。 您可以扩展默认编辑器类并创建自己的编辑器类。

    在第二种情况下,您可以使用格式化程序功能。

    最好使用现有的函数和类。扩展会使网格变慢。

    【讨论】:

    • 我想创建一个对值进行自定义格式设置的单元格,例如显示按钮的单元格!
    • 检查文件 dojo-release-1.5.0-src/dojox/grid/cells/dijit.js。如果这些都不符合您的要求,则其中包含一些编辑器,请扩展紧密匹配的编辑器。不要忘记编写“markupFactory”函数。如果没有这个功能,它将无法工作。
    猜你喜欢
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 2023-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 2011-02-23
    相关资源
    最近更新 更多