ExtJs Ext.grid.Panel从列访问模型

时间:2014-02-17 15:54:07

标签: javascript extjs

在Ext.grid.Panel中,当用户更改复选框的状态时,我需要保存代表该行的模型。

我有这个代码(非常简单,因为这个组件非常大):

Ext.define('Hts.Appointments.List.Grid', {
    extend        : 'Ext.grid.Panel',
    initComponent : function() {
        this.store = /* Big initialization code for store */
        this.columns = [{
            header: Hts.Localization.APPOINTMENTS.HIGHLIGHT,
            dataIndex: 'highlighted',
            xtype: 'checkcolumn',
            flex: 1,
            listeners: {
                checkchange: function(column,rowIndex,checked) {
                       /* Here I need to access the model and save it */
                }
            },
            /* other columns */
        ]
    }
})

我希望我提供了足够的信息(我在ExtJs中是非常新的)。

1 个答案:

答案 0 :(得分:0)

使用属性'idProperty'来定义具有id的模型。

Ext.define('Model', {
    extend: 'Ext.data.Model',
    idProperty: 'idProp',
    fields: [
        { name: 'id', type: 'int' },
        { name: 'name', type: 'string' }
    ]
});

您可以获取模型并将其保存为:

listeners: {
                checkchange: function(column,rowIndex,checked) {
                       var model = Ext.ModelManager.getModel('idProp'); // access
                       model.save(); //save
                }
            },