Extjs gridpanel 动态修改store内容

1、首先定义一个gridpanel类

var store = Ext.create('Ext.data.Store', {
    fields: ['label1','label2','label3'],
    data: []
});
Ext.define('TestGridPanel', { 
    extend : 'Ext.grid.Panel',
    xtype : 'testGridPanel',
    referenceHolder : true, 
    title: 'title of gridpanel',

    requires : ['TestGridController'],

    controller: 'TestGrid',

    store : store,
    selModel: {
        selType: 'checkboxmodel',
        mode:'MULTI',   //多选,单选设为SINGLE
        listeners :{

        }
    },
    columns : [{
        flex : 1,
        dataIndex : 'label1',
        text: 'label1'
    },{
        flex :1,
        dataIndex : 'label2',
        text:'label2'
    },{
        flex : 1,
        dataIndex : 'label3',
        text: 'label3'
    }]
});

2、动态添加记录到store中

var store=this.getView().getStore(); 
var record={label1:"label1",label2:'label2',label3:"label3"};
store.add(record);  

3、修改store中某条记录

var rec=store.getAt(j); //获得store中第j+1条记录(j从0开始)
rec.set('label1',"lalala"); 
rec.commit();   //使修改生效                         

4、删除store中某条记录

//获得选中的第一条记录
var record=this.getView().getSelectionModel().getSelection()[0];
store.remove(record);   

5、清空store中的所有记录

store.removeAll();

你可能感兴趣的:(Extjs)