Angular 如何根据行数据使ag网格的列宽响应?

Angular 如何根据行数据使ag网格的列宽响应?,angular,typescript,ag-grid,Angular,Typescript,Ag Grid,ag网格中的列: columnsDefs = [ { headerName: 'Name', field: 'name' }, { headerName: 'Age', field: 'age' }, { headerName: 'Description', field: 'description' } ]; 描述中的字符长度可能不同。例如,某些行可能只有10个字符,而某些行可能有50个字符。 如果我设置了列

ag网格中的列:

columnsDefs = [
   {
    headerName: 'Name',
    field: 'name'
   },
   {
    headerName: 'Age',
    field: 'age'
   },
   {
    headerName: 'Description',
    field: 'description'
   } 
];
描述中的字符长度可能不同。例如,某些行可能只有10个字符,而某些行可能有50个字符。 如果我设置了列宽,那么,如果description有更长的字符长度,那么一些字符将不会显示

api.sizeColumnsToFit()将缩放列以适应屏幕的可用宽度。 我希望根据its行数据实现响应的列“Description”宽度

您可以使用方法:
autoSizeColumns

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


要将所有列调整为内容宽度,请使用:
columnApi.autosizealcolumns()
。但是,在
firstDataRendered()
事件上调用此方法。如果有许多列,还可以设置
suppressColumnVirtualization=true

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

Hi,我想在每次服务器调用时检查并更改排序(到不同的列)。OnGridReady在绑定数据之前被调用,因此我使用了onFirstDataRendered()。当gridOption在onInit()方法中初始化时,这是第一次起作用。对于下一个服务器调用,不会调用onFirstDataRenfered()。在数据加载到网格后,哪个事件总是被回调?加载数据后,只需再次调用
autoSize
。谢谢,但在评论中,我问的是另一种情况,即在第一次加载网格时以及在其他服务器调用后,是否知道任何事件回调。你能帮我一下吗?