Dev*_*v93 4 angularjs angular-ui-grid
有没有办法动态地,以编程方式,为Angularjs更改ui-grid中列的宽度?
我已经尝试更改$ scope.gridOptions.columnDefs [i] .width,但它没有任何效果.
我问,因为我有ui-grid-resize-columns指令集,允许用户调整最初设置为百分比宽度的列的大小.但是一旦用户进行任何手动修改,列大小都会变为静态,不再随着整个表宽度的增长或缩小.
我想添加一个"自动调整"按钮,允许用户将列大小定义恢复为百分比(基于当前手动设置的比例),最多可达100%.理想情况下,列将再次开始调整为表大小更改.
我可以看到用户经常点击F5来获得这种效果(我会!),在不知不觉中导致整个页面从头开始重新加载,不必要地耗费大量的服务器资源.我想一个不快乐的选择是从一开始就让它们变得静止,消除这种诱惑!
小智 5
更改columnDef宽度不起作用,因为GridColumn已经从columnDefs构建,并且ui-grid仅监视对columnDefs数组的更改而不是单个columnDef属性.您可以做的是在列的GridColumn对象上设置新的列宽.这适合我.
$scope.grid.getColumn('my-column').width = $newWidth;
$scope.grid.refresh();
Run Code Online (Sandbox Code Playgroud)
您还可以删除并重新添加具有更改的宽度属性的列,因为这应该触发网格从columnDefs重建GridColumns,尽管我没有测试过这个,前者似乎更容易.
| 归档时间: |
|
| 查看次数: |
6982 次 |
| 最近记录: |