角2 NG网格流体柱

时间:2016-10-14 16:28:41

标签: angular ag-grid

是否有可能有一个网格,其中列的宽度不是基于像素的?当与sizeColumnsToFit()一起使用时,这将特别有用。

例如,在下表中,可视化设计可能要求ID和Name字段仅适合内容,但是然后让Description填充包含元素的其余宽度。

| ID | Name  | Description    |
|----|-------|----------------|
| 1  | Foo   | Something foo  |
| 2  | Bar   | Something bar  |

目前,使用sizeColumnsToFit()会使它们具有相同的宽度(因此tableWidth / 3类似。)

2 个答案:

答案 0 :(得分:1)

虽然您仍然需要在我的建议中提供宽度,但它确实允许更多"动态"适应。

首先,为要更小/固定的列设置宽度:

var columnDefs = [
    {
        headerName: "Column 1",
        field: "col1",
        width:20
    },

挂入gridReady事件以调整其余列的大小(不会设置宽度):

$scope.gridOptions = {
    columnDefs: columnDefs,
    rowData: rowData,
    onGridReady: () => {
        $scope.gridOptions.api.sizeColumnsToFit();
    }
    ...other properties

答案 1 :(得分:0)

您可以在列定义中使用网格的width属性,并将其绑定到可以百分比返回宽度的函数。

width: this.columnWidth(windowWidth, 10)

private columnWidth(windowWidth:number, columnSize:number) {
    return Math.floor((windowWidth * columnSize) / 100);
}