在Dojo DataGrid中使用回调的Formatter

时间:2012-11-16 13:03:29

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

我正在尝试将自定义格式化程序添加到Dojo DataGrid。据我所知,这个格式化程序应该返回带有html的字符串进行演示。

我想在点击时使用js回调呈现链接,即

<a href="javascript:void(0)" onclick="callMeBack()">value</a>

问题是我不想拥有全局函数callMeBack(),而是内联编写回调函数。但我似乎无法让这个功能发挥作用。到目前为止我写了这个:

 function callMeBack() { ... }
 var structure = [
            {name:"name", field:"name", width: "200px", formatter: function(name) {
                var link = domConstruct.create("a", {innerHTML: name});
                domAttr.set(link, "href", "javascript:void(0)");
                on(link, "click", callMeBack);
                return link.outerHTML;
            }},
            ....                
        ];   

问题似乎是点击回调没有注册。考虑到网格中使用的DOM节点可能会在返回字符串表示后构造,这是可以理解的。

但我怎样才能做到这一点呢?

1 个答案:

答案 0 :(得分:0)

一种可能的方法是定义像xx.yy.callmeback GLOBALLY这样的函数,以便找到函数定义。但我不觉得这是最好的方式。