extjs 是否更改单元格网格的属性并刷新?

jqjz2hbq  于 2022-12-29  发布在  其他
关注(0)|答案(1)|浏览(141)

我有一个网格,单击时将属性cellwrap从false更改为true

onCellClick: function(view, td, index, record, tr, rindex) {

        var
            me = this,
            vm = me.getViewModel(),
            field = me.lookupReference('descriptionField');
            
            field.cellWrap = true;
            field.getView().getStore().getSource().reload();            

    }

但是我想我弄错了。我可以用cellwrap属性的变化重新加载网格吗?我使用的是v7.5.1.20

kh212irz

kh212irz1#

cellWrap是一个Ext.grid.column.Column的配置,不能在网格渲染后简单修改,需要使用Ext.grid.Panel的reconfigure方法更新列,将cellWrap设置为true
你可以在 Sencha Fiddle(ExtJS 7.4.0现代材质)中尝试这段代码,点击任意位置,看看左上角的单元格是如何变化的:

Ext.application({
    name: 'Fiddle',

    launch: function () {
        const store = new Ext.data.Store({
            fields: ['name', 'phone'],
            data: [{
                name: 'Name1 Name1 Name1 Name1 Name1 Name1 Name1 Name1 Name1 Name1 Name1 Name1',
                phone: 111
            }, {
                name: 'Name2',
                phone: 222
            }, {
                name: 'Name3',
                phone: 333
            }, {
                name: 'Name4',
                phone: 444
            }, {
                name: 'Name5',
                phone: 555
            }]
        })

        const myGrid = Ext.create({
            renderTo: Ext.getBody(),
            xtype: 'grid',
            store: store,
            selModel: 'cellmodel',
            columns: [{
                text: 'Name',
                dataIndex: 'name',
                cellWrap: false
            }, {
                text: 'Phone',
                dataIndex: 'phone'
            }],
            listeners: {
                cellclick: function (table, td, cellIndex, record, tr, rowIndex, e, eOpts) {
                    myGrid.reconfigure(null, [{
                        text: 'Name',
                        dataIndex: 'name',
                        cellWrap: true
                    }, {
                        text: 'Phone',
                        dataIndex: 'phone'
                    }]);
                }
            }
        });
    }
});

相关问题