加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

有没有办法动态设置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,尽管我没有测试过这个,前者似乎更容易.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读