0

我做了一个dojo dgrid,我有一个树字段(插件列)。我正在尝试在每个子行中放置图标(PDF、HTML 和 XLS)供用户下载。我尝试使用formatter: function(item, rowIndex, cell)创建图标,但它损坏了我的树列,只是停止工作。我没有在文档中找到任何我想做的事情。

下图显示了我的示例: 图标子行

我也尝试过混合 HTML,但没有奏效,我不想这样做,将 HTML 与我的 javascript 混合。

我怎样才能做到这一点?

4

1 回答 1

2

我不知道这是否是最好的解决方案,但我以这种方式解决了。

我创建了一个新列(插件列),并在 CSS 中取出列之间的垂直线(用于模拟 colspan)。但是你可以通过 dgrid 进行 colspan,但我更喜欢通过 CSS(更简单)。

我的插件专栏是这样的:

editor({label: ' ', field: 'idDOC', sortable: false, canEdit: function(obj){

                    if(obj.type == 'DOC'){

                        if(obj.format == 'xls'){
                            this.editorArgs.iconClass = 'dijitEditorIcon dijitEditorIconXls';
                        }

                        if(obj.format == 'html'){
                            this.editorArgs.iconClass = 'dijitEditorIcon dijitEditorIconHtml';
                        }

                        if(obj.format == 'pdf'){
                            this.editorArgs.iconClass = 'dijitEditorIcon dijitEditorIconPdf';
                        }

                        return true;
                    }

                    return false;

                }, editorArgs:{onClick: function(obj){

                    var node = that.memoryStore.get(that.designId);
                    var format;

                    for(var i=0; i<node.children.length; i++){

                        if(node.children[i].id == this._dgridLastValue){
                            format = node.children[i].format;
                        }

                    }

                    window.location.href = that.domain+'/'+that.designId+'/'+this._dgridLastValue+'/'+format;

                }, label:'View', showLabel:true}}, Button),

谢谢

于 2012-11-30T11:33:44.457 回答