0

API を確認したところ、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({
        .
        .
        .
        .

前のコードは私が実行しているもので、明らかに続行しますが、問題はクロムデバッガーからこのエラーが発生することです:

キャッチされていない TypeError: オブジェクト #GridPanel にメソッド 'addListener' がありません

それはどのように可能ですか?私が間違っていることは何ですか?私のライブラリは 3.4 で、Ext JS 2.3、3.4、および 4.1 の API を確認しましたが、すべてにこのメソッドがあります。

4

1 に答える 1

0

gridpanel コンストラクターが3.4 docs に従って適切にフォーマットされていません。

構成オブジェクトである単一の引数のみが存在する必要があります(つまり、構成キーを持ち、curlies でラップされます{})。

また、フルネームは慣習的Ext.grid.GridPanelですGridPanelExt.grid.GridPanel.jsJS でが必要な場合は回避できると思いますが、それを行っているかどうかはわかりません。

引数が正しい構成に正しくマッピングされていない可能性がありますが、これでアイデアが得られるはずです。

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 に答える