我要显示的数据和表列都是模块中的输入属性。现在,我希望能够为我的列配置数据提供一个标志,使其能够自动调整这些列的大小。找到合适的列并执行.autosize()
函数很简单,但是我错过了网格本身上的拟合事件发射器。
(onColumnInit)
似乎很有希望,但是在控制台中看到的错误文本给人的印象是,在表被填满之前就已经执行了。
我使用了官方的API参考,但是找不到我想要的东西:一个事件,该事件在表ID完成,准备好所有数据,填充表并准备调整大小时被调用
如果还有另一种优雅的解决方案,我也对此表示感谢,甚至在我的组件中都使用了生命周期钩子,但正如所料,这几乎不是解决方案。
简而言之,我有一个表控制模块,它充当igx-grid本身的内部容器,它提供了与项目其余部分的接口。它会与数据本身和“表字段”一起使用,这些数据定义了字段名称(按日期),显示的列名称,数据类型以及有用的标签,例如该列是否应可排序。同样,我想实现一个允许初始自动调整大小的标签。
答案 0 :(得分:1)
您的方案没有完美的解决方案。当前,igxGrid尚不具备最初自动调整列大小的功能,因此您必须坚持使用.autosize()
API。但是,您必须考虑以下因素:
.autosize()
API仅适用于当前可见的单元格。默认情况下,igxGrid通过虚拟化DOM渲染来优化DOM渲染,这意味着并非所有列单元格都是可见的。当您为网格设置height=null
时,不会进行虚拟化,在这种情况下,所有行都将呈现,并且没有垂直滚动条。在您的情况下,您可能希望使用height=null
,以便.autosize()
API能够提供理想的结果。ngAfterViewInit
应该可以达到这个目的。