2015-04-28 24 views
2

enter image description here我做了以下extjs代碼,但當我添加屬性「寬度」和「高度」時,出現錯誤「無法讀取屬性'dom'null'但是該按鈕很好調整大小和表格工作正常,但導致此錯誤我的下拉菜單無法正常工作。Extjs無法讀取屬性錯誤

有誰知道如何解決它?

<div id="tab-content"> 
<script type="text/javascript"> 
Ext.onReady(function() { 
    Ext.create('BVCore.Grid', { 
     id:'tab-content', 
     renderTo: 'tab-content', 
     stateId: 'tab-content',  
     store: Ext.create('BVCore.LocalStore', { 
      fields: ['hostName', 'ip', 'serialNumber', 'model', 'role', 'status', 'siteName', 'installDate', 'linkedService'], 
      proxy: { 
       url: '<spring:url value="/controller/search/json/deviceSearch.json" />'    
      }, 
     }), 
     features: [{ftype:'grouping'}], 
     columns: [ 
        {text: '<spring:message code="device.hostname" />', dataIndex: 'hostName', autoSizeColumn: true, align: 'center'}, 
        {text: '<spring:message code="device.ipaddress" />', dataIndex: 'ip', autoSizeColumn: true, align: 'center'}, 
        {text: '<spring:message code="device.sn" />', dataIndex: 'serialNumber', autoSizeColumn: true, align: 'center'}, 
        {text: '<spring:message code="device.model"/>', dataIndex: 'model', autoSizeColumn: true, align: 'center'}, 
        {text: '<spring:message code="device.role" />', dataIndex: 'role', autoSizeColumn: true, align: 'center'}, 
        {text: '<spring:message code="device.status" />', dataIndex: 'status', autoSizeColumn: true, align: 'center'}, 
        {text: '<spring:message code="device.site" />', dataIndex: 'siteName', autoSizeColumn: true, align: 'center'}, 
        {text: '<spring:message code="device.installDate" />', dataIndex: 'installDate', autoSizeColumn: true, align: 'center'}, 
        {text: '<spring:message code="device.linkedService" />', dataIndex: 'linkedService', autoSizeColumn: true, align: 'center'}, 
        {autoSizeColumn: true, align: 'center', dataIndex: 'id', 
         renderer: function (value, metadata, record) { 
         var id = Ext.id(); 
         Ext.defer(function() { 
          Ext.widget('button', { 
           renderTo: id, 
           text: 'Details', 
           width: 75, 
           height: 18, 
           handler: function() { 
            window.location = "/netmg/controller/home/device/view/" + record.get('id'); 
           } 
          }); 
         }, 1); 
         return Ext.String.format('<div id="{0}"></div>', id); 
         } 
        } 
       ] 
    }); 
}); 
</script> 
</div> 
+0

我想你的代碼,它的工作對我罰款。不知道你爲什麼面臨這樣的問題。 –

+0

我不認爲這是因爲按鈕。 * renderTo:'tab-content'* - 您確定**'tab-content'**已定義嗎?錯誤來自那裏。 – Yellen

回答

1

它不是來自按鈕配置。 錯誤來自

renderTo發出: '標籤內容'

在你的代碼,你的網格的ID是

'標籤內容'

而你正試圖將相同的元素呈現給您正在創建的元素。 確保您提供了要渲染此網格的正確元素id。如果沒有任何元素,則只是分配

renderTo: Ext.getBody()

參考renderTo獲取更多信息。

+0

我編輯了我的描述,標籤內容是定義的。我想把網格放入這個div –

+0

我閱讀了文檔,它說:「如果Component是一個Container的子項目,請不要使用此選項。Container的佈局管理器負責渲染和管理它兒童用品「。但是當我不使用renderTo表dislorar –

+0

我沒有看到其他例外情況。請確保網格的ID與div的ID不同。 「BVCore.Grid」是否有任何自定義更改?你可以分享代碼嗎? – Yellen