在ExtJS 6仪表板中动态更改列宽

时间:2016-01-20 22:47:50

标签: javascript extjs extjs6

有没有办法在渲染后更改PHCollection中的列宽?它使用配置值:

创建
columnWidths: [
    0.35,
    0.40,
    0.25
]

我想动态地将其更改为:

columnWidths: [
    0.5,
    0.25,
    0.25
]

直接或使用columnWidths更改setConfig属性不会更新信息中心。它似乎没有一种方法来刷新"或其他任何显然有同样目的的东西。各个仪表板列具有setWidth功能,但似乎也没有做任何事情。

1 个答案:

答案 0 :(得分:1)

我无法在API中找到自动管理此内容的任何内容,但您可以手动更新信息中心中每个子组件的columnWidth值,然后调用updateLayout

function setColumnWidths(dashboard, columnWidths){
    var i = 0;
    dashboard.items.each(function(item){
        if(item instanceof Ext.resizer.Splitter)
            return; // ignore
        item.columnWidth = columnWidths[i++] || 1;
    });
    dashboard.updateLayout();
}

» Fiddle