如何在ExtJS中启用排序?

时间:2017-10-26 10:01:26

标签: extjs grid extjs4.2

我正在寻找一种在财产网格上启用排序的方法。我试着把一些" sortable"和" defaultSortable"在某些地方真实,但没有任何反应。 通常在ExtJS中,sortable是默认为什么它不适合我。

columns: [

        { header: 'Sample Name',  dataIndex: 'sample_name',flex: 1,sortable: true,
            editor: {
                allowBlank: true
            } },
        { header: 'Sample Type', dataIndex: 'sample_type',flex: 1,sortable: true,
            editor: {
                allowBlank: false
            } },
        { header: 'Text Code', dataIndex: 'text_code',flex: 1,sortable: true,
            editor: {
                allowBlank: false
            } },
]

1 个答案:

答案 0 :(得分:2)

您需要使用Ext.grid.Panel。 默认情况下,sortableColumns为true,请参阅documentation

在小提琴中试用这段代码:

Ext.application({
    name : 'Fiddle',

    launch : function() {
        Ext.create('Ext.data.Store', {
            storeId:'simpsonsStore',
            fields:['name', 'email', 'phone'],
            data:{'items':[
                { 'name': 'Lisa',  "email":"lisa@simpsons.com",  "phone":"555-111-1224"  },
                { 'name': 'Bart',  "email":"bart@simpsons.com",  "phone":"555-222-1234" },
                { 'name': 'Homer', "email":"home@simpsons.com",  "phone":"555-222-1244"  },
                { 'name': 'Marge', "email":"marge@simpsons.com", "phone":"555-222-1254"  }
            ]},
            proxy: {
                type: 'memory',
                reader: {
                    type: 'json',
                    root: 'items'
                }
            }
        });

        Ext.create('Ext.grid.Panel', {
            title: 'Simpsons',
            store: Ext.data.StoreManager.lookup('simpsonsStore'),
            columns: [
                { text: 'Name',  dataIndex: 'name' },
                { text: 'Email', dataIndex: 'email', flex: 1 },
                { text: 'Phone', dataIndex: 'phone' }
            ],
            height: 200,
            width: 400,
            renderTo: Ext.getBody()
        });
    }
});