ExtJS 4>网格>动态设置高度以适应任意数量的记录

时间:2011-11-17 07:44:42

标签: extjs

在我的ExtJS 4 Grid中,我想在加载记录时动态设置高度。

例如:

  1. 如果我的网格加载了52条记录,那么它应该同时显示所有52条记录(网格中没有任何滚动条)。

  2. 如果我的网格加载了73条记录,那么它应该同时显示所有73条记录(网格中没有任何滚动条)。

  3. 即。我不需要Grid中的任何滚动条。相反,我想改用浏览器的滚动条。

    有人有解决方案吗?

4 个答案:

答案 0 :(得分:3)

您必须处理网格存储上的加载事件,然后通过

更改网格高度
youGrid.getStore().on('load', function anonym(){
   myGrid.setHeight(this.getCount() * 16); // to be calculated
}

当然,您必须调整此网格的所有父容器

答案 1 :(得分:2)

如果您没有为网格指定高度属性。这将解决它。

答案 2 :(得分:1)

感谢您的帮助, 这就是答案,但如果你不在网格初始化之外,那么这样的接缝会更合适:

myGrid.getView().on('refresh', function () { var cellheight = 28; var titleHeight = 50; myGrid.setHeight(myGridStore.getCount() * cellheight + titleHeight); });

答案 3 :(得分:0)

Ext.create('Ext.grid.Panel', {
    id: "empDetails",
    store: store,
    columns: [{
        text: "Name",
        dataIndex: 'Name'
    }, {
        text: "Age",
        dataIndex: 'Age'
    }],
    renderTo: 'example-grid',
    forceFit: true,
    width: 300,
    ***getTotalHeight: function() {
        return "auto";
    },***
    dockedItems: [{
        xtype: 'toolbar',
        items: [{
                text: 'Employee Details'
            }

        ]
    }]

});