我做了一个dojo dgrid,我有一个树字段(插件列)。我正在尝试在每个子行中放置图标(PDF、HTML 和 XLS)供用户下载。我尝试使用formatter: function(item, rowIndex, cell)创建图标,但它损坏了我的树列,只是停止工作。我没有在文档中找到任何我想做的事情。
下图显示了我的示例:
我也尝试过混合 HTML,但没有奏效,我不想这样做,将 HTML 与我的 javascript 混合。
我怎样才能做到这一点?
我做了一个dojo dgrid,我有一个树字段(插件列)。我正在尝试在每个子行中放置图标(PDF、HTML 和 XLS)供用户下载。我尝试使用formatter: function(item, rowIndex, cell)创建图标,但它损坏了我的树列,只是停止工作。我没有在文档中找到任何我想做的事情。
下图显示了我的示例:
我也尝试过混合 HTML,但没有奏效,我不想这样做,将 HTML 与我的 javascript 混合。
我怎样才能做到这一点?
我不知道这是否是最好的解决方案,但我以这种方式解决了。
我创建了一个新列(插件列),并在 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),
谢谢