ag-grid和angular:autoSizeColumns()会截断单元格文本

时间:2019-07-10 08:34:02

标签: angular ag-grid ag-grid-angular

我正在使用带有服务器端行模型的ag-grid v21和Angular 6。我想自动调整列宽的大小,但是行为与我期望的不一样。

当我异步获取数据时,当我在 onGridReady()中获取数据时,我会执行gridColumnApi.autoSizeColumns(...)(我也尝试在 onFirstDataRendered()中这样做>,但具有相同的行为。

这将呈现这样的数据,将值截断(屏幕截图1):

enter image description here

如果我通过双击垂直列分隔符(如在Excel中)手动触发调整列大小,则列将调整为我想要的大小(屏幕截图2):

enter image description here

我的问题是:如何自动从屏幕截图2中实现行为?

(这是一个计时问题,即当我通过双击手动调整大小时,网格具有比初始渲染时更多的信息,这就是为什么要正确调整列的大小吗?)

编辑:似乎是一个计时问题。我现在在调整onGridSizeChanged()的大小,有时(当onGridReady()需要更长的时间(?),并且在onGridReady()之后调用onGridSizeChanged()时,它会正确调整大小。

EDIT2 :已解决。这是我用例的一个特定方面,导致时序不明确,请参阅下面的评论。

1 个答案:

答案 0 :(得分:1)

事件虽然最初的问题似乎与计时问题有关,但仍然存在另一个问题:ag网格无法基于尚未呈现的行来计算列的大小。

从ag网格参考:

  

autoSizeColumns()在屏幕上查看呈现的单元格,然后工作   根据所看到的宽度。它看不到   由于列虚拟化而未呈现。因此不可能   自动调整屏幕上不可见的列的大小。

https://www.ag-grid.com/javascript-grid-resizing/#auto-size-columns