0

我已经检查了 API,并且应该存在来自 GridPanel 的 addLister 方法,所以我尝试使用它:

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({
        .
        .
        .
        .

之前的代码是我正在执行的代码,它显然会继续,但问题是我从 chrome 调试器中得到了这个错误:

未捕获的类型错误:对象#GridPanel 没有方法“addListener”

这怎么可能?我做错了什么?我的库是 3.4,我检查了 Ext JS 2.3、3.4 和 4.1 的 API,它们都有这个方法。

4

1 回答 1

0

您的 gridpanel 构造函数没有按照 3.4 docs正确格式化。

应该只有一个参数是一个配置对象(即带有配置键并包裹在 curlies 中{})。

全名也是习惯性的Ext.grid.GridPanelvs GridPanel。如果您在 JS 中需要,我认为您可以解决这个Ext.grid.GridPanel.js问题,但我不知道您是否正在这样做。

我可能没有将您的参数正确映射到正确的配置,但这应该给您一个想法:

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
});
于 2012-07-27T15:31:13.183 回答