【发布时间】:2017-06-12 08:19:45
【问题描述】:
我找不到调整网格大小以完美适应所有行的好方法。
documentation 仅指向按 % 或 px 调整大小。
因为我希望它根据行来调整大小,所以我想出了以下函数。似乎我在重新发明轮子,所以也许有更好的方法?
getHeight(type:EntityType) {
var c = this.Apis[type] && this.Apis[type].api && this.Apis[type].api.rowModel // get api for current grid
? this.Apis[type].api.rowModel.rowsToDisplay.length
: -1;
return c > 0
? (40+(c*21))+'px' // not perfect but close formula for grid height
: '86%';
}
必须有一种不那么混乱的方式..
【问题讨论】:
-
这似乎是正确的方法,虽然我不明白你为什么要对api是否存在进行各种检查......过滤后是否需要更改网格高度?还是您只是将其用于初始网格创建?
-
因为 api 在加载期间会使用网格进行初始化。不能确定 getHeight 在正确初始化后会被调用。
-
如果你使用
onGridReady事件,那么你就不需要检查api是否存在,因为它只有在它存在之后才会触发。 -
我正在使用 [style.height]="getHeight()" 将此属性绑定到 UI 元素。由 UI 元素在需要时调用此属性。不确定 onGridReady 与它有什么关系
-
您是否在应用过滤器时随时更改网格的高度?
标签: ag-grid