在dojo EnhancedGrid中显示文本和按钮

时间:2014-08-08 21:05:58

标签: button dojo grid

我有一个dojo增强型网格,我正在使用格式化程序在其中一列中显示一个按钮

 {field: '_item', name: 'Update Data', formatter: dojo.hitch(context, this.getUpdateData), width: '165px' },




getUpdateData: function(rowItem) {      
        var button = new dijit.form.Button({
            label: '<img src="/public/img/icon_texteditor.png" height="19px" width="19px"/>',
            onClick: function(){
                alert('hi');
            }
        });         
        return button;              
    }

这很有效。按钮已正确呈现,当我单击它时,它正确显示警告对话框。我想做的是显示一些文本/标签,然后显示网格单元格中的按钮。我已经尝试在格式化程序中创建一个div并尝试将按钮添加到div:

getUpdateData: function(rowItem) { 
        var divNode = dojo.create("div", { innerHTML: rowItem.someText });
        var button = new dijit.form.Button({
            label: '<img src="/public/img/icon_texteditor.png" height="19px" width="19px"/>',
            onClick: function(){
                alert('hi');
            }
        });

        button.placeAt(divNode);
        return divNode.innerHTML;
    }

即使它正确呈现(文本显示在表格中的按钮之前),当我点击按钮时也没有任何反应。不会调用onClick事件处理程序。

我的问题是:如何在网格单元格中显示一些文本+一个按钮。

1 个答案:

答案 0 :(得分:0)

这对我有用:

getUpdateData: function(rowItem) {   
 var cpane = new dojox.layout.ContentPane (
        content: rowItem.someText;
 });

 var button = new dijit.form.Button({
            label: '<img src="/public/img/icon_texteditor.png" height="19px"  width="19px"/>',
            onClick: function(){
                alert('hi');
            }
        });


 button.placeAt (cpane);
 return cpane;
}