角度 ag-grid 调整大小问题

Posted

技术标签:

【中文标题】角度 ag-grid 调整大小问题【英文标题】:Angular ag-grid resize issue 【发布时间】:2018-06-02 21:08:01 【问题描述】:

我想启用列大小调整,但同时我想避免用户将任何列调整到网格左侧的大小,并且在最后一列的右侧出现空白区域。 我在下面附上了一张图片来解释我想要实现的目标。

【问题讨论】:

【参考方案1】:

像this 这样的东西应该适合你。重点是监听columnResized事件,然后检查当前列总大小是否大于网格宽度,如果是则使用sizeColumnsToFit函数。不过要小心这一点; sizeColumnsToFit 函数将尝试保持列的比率,因此您可能希望将所有列的大小调整为 10 像素,然后调整大小以适应。这主要取决于您的用例以及您希望它的行为方式。

【讨论】:

【参考方案2】:

这个问题可以通过使用columnResized事件和gridApisizeColumnsToFit()方法来解决。

component.ts:

onColumnResized(params) 
  if (params.source === 'uiColumnDragged' && params.finished) 
    this.gridApi.sizeColumnsToFit();
  

component.html:

<ag-grid-angular 
  #agGrid
  style="width: 100%; height: 100%;"
  class="ag-theme-balham"
  [columnDefs]="columnDefs"
  [rowData]="rowData"
  (gridReady)="onGridReady($event)"
  (columnResized)="onColumnResized($event)">
</ag-grid-angular>

【讨论】:

【参考方案3】:

如果您想在调整列大小时填充行内的空间,那么我建议您覆盖 CSS。在撰写本文时,以下工作:

.ag-center-cols-container  width: 100% !important;

【讨论】:

以上是关于角度 ag-grid 调整大小问题的主要内容,如果未能解决你的问题,请参考以下文章

Ag-grid 过滤器菜单自动调整大小

ag-grid:key.forEach 在调整列大小时不是函数控制台错误

反应 ag-grid 自动调整列大小和网格宽度

Ag-Grid:一旦列超出容器大小,调整列宽并显示水平滚动条

与 ember.js 中的模态叠加一起使用时,ag-grid 调整列的大小需要很长时间才能响应

角度可拖动和调整大小