如何根据行数据使ag-grid的列宽响应?

时间:2018-10-05 13:00:13

标签: angular typescript ag-grid

ag-grid中的列:

uwsgi foo.ini --socket=0.0.0.0:5000 --protocol=http --lazy -w wsgi

描述中的字符长度可以变化。例如,某行可能只有10个字符,而某行可能有50个字符。 如果我设置了列宽,那么,如果说明中的字符长度更长,那么某些字符将不会显示。

api.sizeColumnsToFit()将缩放列以适合屏幕的可用宽度。 我想实现“描述”列的宽度以根据其行数据做出响应。

2 个答案:

答案 0 :(得分:1)

要将所有列的大小调整为内容宽度,请使用: columnApi.autoSizeAllColumns()。但是,在firstDataRendered()事件上调用此方法。另外,如果您有很多列,也可以设置suppressColumnVirtualisation=true

说明: columnApi.autoSizeAllColumns()方法调整列的大小以包装每列的内容宽度。但是,要使网格知道内容的宽度是多少,首先必须渲染数据。因此,应在firstDataRendered()事件上调用此方法。如果列数更多,则由于ag-grid中的延迟加载,水平滚动条后面的列不会立即呈现。因此,autoSizeAllColumns()无法调整这些列的大小。为此,需要使用网格的suppressColumnVirtualisation=true属性来禁用延迟加载。

答案 1 :(得分:0)

您可以使用columnApi方法:autoSizeColumns

  

autoSizeColumn(colKey)根据列的内容自动调整其大小。