2011-05-18 11 views
1

extjsグリッドを持つextjs 4セル編集プラグインを使用しています。 1つのグリッドで正常に動作しますが、セル編集も必要な同じページに新しいグリッドを作成すると、グリッドデータの終了は消えます。私は問題を診断するのに一日を費やしましたが無駄です。続きExtJSグリッドセル編集

は、モデル、店舗やグリッドのためのコードです:

Ext.define('site', { 
    extend: 'Ext.data.Model', 
    fields: [{ 
     name: 'siteid' 
    }, { 
     name: 'description' 
    }, { 
     name: 'picevd' 
    }, { 
     name: 'Dateofaudit', 
     type: 'date', 
     dateFormat: 'Y-m-d' 
    }, { 
     name: 'dateofrecord', 
     type: 'date' 
    }, { 
     name: 'id' 
    }] 
}); 

Ext.define('d696', { 
    extend: 'Ext.data.Model', 
    fields: [{ 
     name: 'siteid' 
    }, { 
     name: 'description' 
    }, { 
     name: 'picevd' 
    }, { 
     name: 'Dateofaudit', 
     type: 'date', 
     dateFormat: 'Y-m-d' 
    }, { 
     name: 'dateofrecord', 
     type: 'date' 
    }, { 
     name: 'id' 
    }] 
}); 

var Dstore = Ext.create('Ext.data.Store', { 
    //autoDestroy: true, 
    storeId: 'Dstore', 
    autoLoad: true, 
    model: 'site', 
    proxy: { 
     url: '../server/sitetheftgrid.php?TYPE=SITE', 
     type: 'ajax', 
     reader: { 
      type: 'json', 
      root: 'results' 
     } 
    }, 
    sorters: [{ 
     property: 'Dateofaudit', 
     direction: 'ASC' 
    }] 
}); // END Dstore 

Ext.create('Ext.data.Store', { 
    //autoDestroy: true, 
    storeId: 'a', 
    model: 'd696', 
    proxy: { 
     url: '../server/sitetheftgrid.php', 
     type: 'ajax', 
     reader: { 
      type: 'json', 
      root: 'results' 
     } 
    } 
    //sorters: [{property: 'Dateofaudit',direction:'ASC'}]           
}); // END Dstore 

var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', { 
    clicksToEdit: 2 
}); 

var grid = Ext.create('Ext.grid.Panel', { 
    store: Dstore, 
    columns: [{ 
     id: 'siteid', 
     header: 'Site Id', 
     dataIndex: 'siteid', 
     width: 100, 
     field: { 
      allowBlank: false 
     } 
    }, { 
     header: 'Detail', 
     dataIndex: 'description', 
     flex: 1, 
     field: { 
      allowBlank: false 
     } 
    }, { 
     header: 'Date Of Audit', 
     dataIndex: 'Dateofaudit', 
     width: 150, 
     field: { 
      xtype: 'datefield', 
      format: 'm/d/y' 
     } 
    }, { 
     header: 'Date Of Record', 
     dataIndex: 'dateofrecord', 
     width: 150 
    }], 
    width: '100%', 
    height: 300, 

    id: 'sitegrid', 
    frame: true, 
    plugins: [cellEditing] 
}); 


var stor = Ext.data.StoreManager.lookup('a'); 


Ext.create('Ext.grid.Panel', { 
    store: stor, 
    columns: [{ 
     header: 'Site Id', 
     dataIndex: 'siteid1', 
     width: 100, 
     field: { 
      allowBlank: false 
     } 
    }, { 
     header: 'Detail', 
     dataIndex: 'description2', 
     flex: 1, 
     field: { 
      allowBlank: false 
     } 
    }, { 
     header: 'Date Of Audit', 
     dataIndex: 'Dateofaudit4', 
     width: 150, 
     field: { 
      xtype: 'datefield', 
      format: 'm/d/y' 
     } 
    }, { 
     header: 'Date Of Record', 
     dataIndex: 'dateofrecord2', 
     width: 150 
    }], 
    width: '100%', 
    height: 300, 
    id: 'sitegrid2', 
    frame: true, 
    autoScroll: true, //when i uncomment this data in first grid vanishes 
    /* plugins:[ Ext.create('Ext.grid.plugin.CellEditing', { 
     clicksToEdit: 1 
     })]*/ 
}); 
+0

他のgridpanelのために別のセルを編集しようとしました。 – TheHorse

+0

これにはどんな解決策がありましたか?私は同じ問題に直面しています。 –

+0

も同じ問題に直面しています – Pyrite

答えて

2

ただ、例えばグリッド
ごとに異なるセルの編集を使用します。

var cellEditing1 = Ext.create('Ext.grid.plugin.CellEditing', {clicksToEdit: 2}); 
var cellEditing2 = Ext.create('Ext.grid.plugin.CellEditing', {clicksToEdit: 2}); 
0

は、コンポーネントのinit上のプラグインを追加してみてください。これは私のために役立った

Ext.create('Ext.grid.Panel', { 
    store: stor, 
    columns: [{ 
     header: 'Site Id', 
     dataIndex: 'siteid1', 
     width: 100, 
     field: { 
      allowBlank: false 
     } 
    }, { 
     header: 'Detail', 
     dataIndex: 'description2', 
     flex: 1, 
     field: { 
      allowBlank: false 
     } 
    }, { 
     header: 'Date Of Audit', 
     dataIndex: 'Dateofaudit4', 
     width: 150, 
     field: { 
      xtype: 'datefield', 
      format: 'm/d/y' 
     } 
    }, { 
     header: 'Date Of Record', 
     dataIndex: 'dateofrecord2', 
     width: 150 
    }], 
    width: '100%', 
    height: 300, 
    id: 'sitegrid2', 
    frame: true, 
    autoScroll: true, 
    initComponent: function() { 
     this.plugins = [Ext.create('Ext.grid.plugin.CellEditing', { 
      clicksToEdit: 1 
     })]; 

     this.callParent(arguments); 
    } 
}); 
関連する問題