有没有办法动态设置Angularjs ui-grid的col宽度?
发布时间:2020-12-17 17:24:39 所属栏目:安全 来源:网络整理
导读:有没有办法动态地,以编程方式,为 Angularjs更改ui-grid中列的宽度? 我已经尝试更改$scope.gridOptions.columnDefs [i] .width,但它没有任何效果. 我问,因为我有ui-grid-resize-columns指令集,允许用户调整最初设置为百分比宽度的列的大小.但是一旦用户进行
有没有办法动态地,以编程方式,为
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,尽管我没有测试过这个,前者似乎更容易. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |