有没有办法动态设置Angularjs ui-grid的col宽度?

前端之家收集整理的这篇文章主要介绍了有没有办法动态设置Angularjs ui-grid的col宽度?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法动态地,以编程方式,为 Angularjs更改ui-grid中列的宽度?

我已经尝试更改$scope.gridOptions.columnDefs [i] .width,但它没有任何效果.

我问,因为我有ui-grid-resize-columns指令集,允许用户调整最初设置为百分比宽度的列的大小.但是一旦用户进行任何手动修改,列大小都会变为静态,不再随着整个表宽度的增长或缩小.

我想添加一个“自动调整”按钮,允许用户将列大小定义恢复为百分比(基于当前手动设置的比例),最多可达100%.理想情况下,列将再次开始调整为表大小更改.

我可以看到用户经常点击F5来获得这种效果(我会!),在不知不觉中导致整个页面从头开始重新加载,不必要地耗费大量的服务器资源.我想一个不快乐的选择是从一开始就让它们变得静止,消除这种诱惑!

解决方法

更改columnDef宽度不起作用,因为GridColumn已经从columnDefs构建,并且ui-grid仅监视对columnDefs数组的更改而不是单个columnDef属性.您可以做的是在列的GridColumn对象上设置新的列宽.这适合我.

$scope.grid.getColumn('my-column').width = $newWidth;
    $scope.grid.refresh();

您还可以删除并重新添加具有更改的宽度属性的列,因为这应该触发网格从columnDefs重建GridColumns,尽管我没有测试过这个,前者似乎更容易.

猜你在找的Angularjs相关文章