2012-11-22 22 views
0

我做了一個dojo dgrid,在那裏我有一個樹字段(插件列)。我試圖在每個子行中放置圖標(PDF,HTML和XLS)以供用戶下載。我嘗試使用格式化程序:function(item,rowIndex,cell)用於創建圖標,但它損壞我的樹列,只是停止工作。我沒有發現任何我想在文檔上做的事情。Dojo dgrid,在插件列樹(PDF,HTML,XSL)中的每個子行中放置圖標

下面的圖像顯示我的例子: icons subrows

我試過混合HTML,以及,但沒有工作,我不喜歡做這樣一來,與我的JavaScript的HTML混合。

我該怎麼做?

+0

我認爲這是不可能的。我想我會嘗試用按鈕放一個新的列。也許試圖顯示僅用於子箭頭的按鈕。 – Ventura

+0

如果有人有像上面的圖像的例子,讓我知道。 – Ventura

回答

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), 

感謝