2014-04-22 71 views
0

我有以下分組報頭格:EXTJS 4分組的列標題的動態文本修改

var lestore = Ext.create('Ext.data.Store', { 
     proxy: { 
       type: 'memory' 
       }, 
     autoDestroy: true, 
     data:objstore 
    }); 

thegrid = Ext.create('Ext.grid.Panel', { 
     store: lestore, 
     columnLines: true, 
     columns: [{text:'date'},{text:'TV',columns:{text:'400',columns:[{text:'tt1'},{text:'tt2'}]}] , 
     title:'my title' , 
     selModel: { 
      selType: 'cellmodel' 
     }, 
     renderTo: 'gridmpoff', 
      plugins: [Ext.create('Ext.grid.plugin.CellEditing', {clicksToEdit: 1} 
       ) 
       ], 

     listeners: {'edit': function(editor,e) {updtitle(editor,e);} 
     }, 
     viewConfig: { 
      stripeRows: true 
     }, 

    }); 

我所需要的網格創建之後改變列文本(TT1,TT2等),在不改變報頭分組。

我試着修改列屬性,但這並沒有幫助,只有那些迄今爲止工作的東西是重新配置與編輯器混淆。

請指點

回答

0

這麼多的搜索後,我來到了的想法,ExtJS的4.1「重新配置」是越野車,也從未得到修復,因爲它與插件(特別是編輯)食堂,每修復到目前爲止我發現的目標只是一個特定的用例,我只是更新了分組標題標籤而沒有觸及其他任何東西。

我使用的解決方案是簡單地更新dom(同時更新extjs的列標題結構,以便如果某些時候它們的錯誤是固定的,則很容易切換到重新配置,settext或其他),通過:thegrid.container.dom.childNodes ....

我希望這有助於從這場鬥爭中得到別人。

這是有關:Using Ext.grid.Panel.reconfigure() breaks the grids RowEditing plugin

0

試試下面的代碼:

grid.columns[0].ownerCt.setText('Total Number'); 
0

我知道這是一個古老的線程,但你可以使用代碼邁克爾貼:

grid.columns[0].ownerCt.setText('Total Number'); 

,然後用您的groupHeaderTpl中的列名稱,並具有類似如下:

{columnName}: {name} 

這樣它會動態地將其更改爲您想要的值。