angular - 有没有办法以百分比指定 ag-grid 列宽?

标签 angular ag-grid percentage column-width

现在,我看到指定列网格宽度的唯一方法是向列定义添加宽度属性,例如:

columnDefs: any[] = [
  { 
    headerName: 'ID',
    field: 'id',
    width: 50,
    type: 'numericColumn'
  }
];

但是正如我们在下面的例子中看到的,网格的列并没有占据屏幕显示的整个宽度。

https://stackblitz.com/edit/ag-grid-bss-test-nnojxg?file=app%2Fapp.component.ts

我希望能够为每列设置百分比宽度,但我找不到如何执行此操作。

使用 width: 10% 无效。

有什么解决方法吗?

最佳答案

不,默认情况下是不可能的。您只能以绝对数字设置宽度、minWidth 和 maxWidth。在 AgGrid 中使用动态宽度最简单的方法是使用 this.gridOptions.api.sizeColumnsToFit();,因此它们为中的现有值采用最小宽度(根据 colDef 中指定的宽度)他们的细胞。

你可以尝试根据window-width手动计算width(onInit),然后重新初始化AgGrid。但我不建议这样做,因为当用户调整窗口大小时,您需要再次计算(在 Window-Resize-HostListener 中)并重新初始化网格。 debounce-time 可能是可能的(所以当用户拖动他的浏览器 Angular 落时你不会每毫秒重新初始化),但它有点hacky并且最后你会得到很多非常难以调试的东西和难以维护的代码。

关于angular - 有没有办法以百分比指定 ag-grid 列宽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50336813/

相关文章:

Angular http 客户端订阅

angular - 如何在同一个路由器链接上使用多个 URL

ag-grid - 如何使用需要绑定(bind)到 DOM 节点的 JavaScript 库

javascript - 如何对位于农业网格不同行中的单选按钮进行分组

php - PHP 上余数分布的百分比限制

html - 使用 Google Maps 元素定义 div (CSS) 的百分比高度

javascript - 将数据传递给 Angular 4 中的自定义组件

angular - 处理从订阅调用到 Angular 服务的错​​误的正确方法

javascript - 通过自定义上下文菜单 Ag-Grid 更新和删除

c# - 如何在 C# 中显示一位小数的百分比并使用 string.Format 管理区域性?