2012-01-20 43 views
1

我有一個grid.Panel配置如下:ExtJS的:隱藏列的網格表示在商店的數據重新加載

var myGrid = new Ext.grid.Panel({ 
       id:'myGridID', 
       layout:'anchor', 
       title:'My Grid', 
       border: false, 
       store:myStore, 
       frame:false, 
       columns:[{header: 'ID', hidden:true, hideable:false, dataIndex: 'data_id'}, 
       {header:'Title', flex:0.3, sortable:true, dataIndex:'data_title'}, 
       {header:'Description', flex:0.7, sortable:true, dataIndex:'data_description'}] 
.... 

它應該顯示的列標題和說明,並保持柱ID隱藏(I必須保持列,因爲我需要獲取所選記錄的ID)。

當我的網頁啓動時,我完美地加載了網格中的數據。第一列(具有標題ID的列)被隱藏,因爲它應該是和列標題和說明顯示得很好。 問題是,當我重新加載商店後向其添加記錄時,網格標題顯示正常(僅標題和說明),但列ID的數據也顯示出來。

我用這條線以重新加載存儲:

Ext.getCmp('myGridID').getStore().load() 

我發現,如果我調整任何列(標題或描述),從塔ID數據消失。

回答

0

爲什麼使用'hiddenable:false'?我認爲你不應該詳細說明,似乎沒用。嘗試運行沒有它的代碼。

+1

自從我問這個問題以來,我已經有一段時間了,所以我已經改變了它。那時我並不知道網格處理記錄,所以我不必在網格中加載id來實際使用它。 但回到你的答案我想我使用可隱藏:假,因爲如果我沒有用戶可以「取消隱藏」從允許用戶隱藏列的網格上方的菜單中的列。 通過設置hiddenable:false,列ID沒有出現(或被禁用),因此用戶無法隱藏也不能顯示該列。 – lascort