Dojo dgrid, поместите значки в каждую подстроку в дереве столбцов плагинов (PDF, HTML, XSL)
Я сделал додзё dgrid, где у меня есть поле дерева (столбец плагинов). Я пытаюсь поместить иконки (PDF, HTML и XLS) в каждую подстроку, чтобы пользователь мог выполнить загрузку. Я пытался использовать formatter: function(item, rowIndex, cell) для создания иконок, но это повреждает мой столбец дерева, просто останавливает работу. Я не нашел ничего похожего на то, что я хочу сделать в документации.
На следующем изображении показан мой пример:
Я также попытался смешать HTML, но не сработал, и я не хотел бы делать это таким образом, смешивая HTML с моим javascript.
Как я могу это сделать?
1 ответ
Я не знаю, является ли это лучшим решением, но я решил так.
Я создал новый столбец (столбец плагина), и через CSS я вынул вертикальную линию между столбцами (для имитации colspan). Но вы можете сделать colspan через dgrid, но я предпочел через 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),
Спасибо