2012-07-27 116 views
0

我檢查了API,並假定存在從GridPanel中的方法就是addLister,那麼好,我嘗試使用它:將偵聽器添加到的GridPanel,它的已經創建

function showCreatePatientCoincidencesWindow(matches, patientData, actuallyCreate) { 
    var grid = new GridPanel('idGrid', '', null, 250); 
     grid.addColumn(new GridColumn('idgridColumn0LC', 'Nombre', "cName")); 
     grid.addColumn(new GridColumn('idgridColumn1LC',' Apellido1', "cSurname1")); 
     grid.addColumn(new GridColumn('idgridColumn2LC', 'Apellido2', "cSurname2")); 
     grid.addColumn(new GridColumn('idgridColumn3LC', 'Documento', "cDoc")); 
     grid.addColumn(new GridColumn('idgridColumn4LC', 'Fecha Nacimiento', "cDate")); 
     grid.addColumn(new GridColumn('idgridColumn5LC', 'Sexo', "cGender")); 
     grid.addListener('show',showHandler,this);  
    var gridStore = new Ext.data.GroupingStore({ 
     root:'matches', 
     reader: new Ext.data.JsonReader({ 
     . 
     . 
     . 
     . 

的代碼之前IS我執行一個,它顯然繼續,但問題是,我從Chrome中調試程序出現此錯誤:

Uncaught TypeError: Object #GridPanel has no method 'addListener'

這怎麼可能?我做錯了什麼?我的庫是3.4,我已經檢查了Ext JS 2.3,3.4和4.1的API,它們都有這個方法。

回答

0

您的網格面板構造函數的格式不正確per the 3.4 docs

應該只有一個單一的參數,它是一個配置對象(即與配置鍵和包裹在花括號{})。

另外全名是慣例Ext.grid.GridPanel vs GridPanel。我想你可以解決這個問題,如果你在你的JS中需要Ext.grid.GridPanel.js,但我不知道你是否這樣做。

我可能沒有你的參數映射到右CONFIGS正確的,但是這應該給你一個想法:

var grid = new Ext.grid.GridPanel({id: 'idGrid', title: '', data: null, width: 250}); 

您可能還需要一段時間才能定義構造函數中的列和存儲你的吧:

var grid = new Ext.grid.GridPanel({ 
    id: 'idGrid', 
    title: '', 
    data: null, 
    width: 250, 
    columns: [{ 
     id: 'idgridColumn0LC', 
     header: 'Nombre', 
     field: 'cName' 
    }, { 
     id: 'idgridColumn1LC', 
     header: 'Apellido1', 
     field: 'cSurname1' 
    }, { 
     id: 'idgridColumn2LC', 
     header: 'Apellido2', 
     field: 'cSurname2' 
    }, { 
     id: 'idgridColumn3LC', 
     header: 'Documento', 
     field: 'cDoc' 
    }, { 
     id: 'idgridColumn4LC', 
     header: 'Fecha Nacimiento', 
     field: 'cDate' 
    }, { 
     id: 'idgridColumn5LC', 
     header: 'Sexo', 
     field: 'cGender' 
    }], 
    store: new Ext.data.GroupingStore({ 
     root:'matches', 
     reader: new Ext.data.JsonReader({ 
      // reader configs 
}); 
+0

非常感謝Geronimo,你是對的我只是注意到我的課不是來自Ext的課程,而是一個包含來自Ext的課程。 我正在開發一個有很多開發項目的大項目,我仍然在發現這種東西,我感到困惑,因爲包裝類的名稱與Ext的完全相同 但有一次,謝謝你爲我付出的努力和代碼! – Javier 2012-07-27 15:58:45

相關問題