我需要动态更改列的小数精度。 我尝试了不同的方法,但没有一种方法有效。
我在Plunker做了一个快速示例,其中有一个交换数据的按钮。它们具有不同的数据和不同的columnDef:一个具有3个小数,另一个具有4个小数。 你可以看到第一行保持第一种格式。
我在gridApi中使用notifyDataChange但不适用于此类更改:
$scope.gridApi.core.notifyDataChange( this.uiGridConstants.dataChange.ALL );
这对我来说是个问题,因为在我的情况下,我希望保留相同的数据,但动态更改列的小数精度。
有人知道如何刷新/重新加载新的columnDefs配置吗? 我真的很喜欢它!
答案 0 :(得分:0)
可悲的是,似乎没有一种刷新/更新网格的常用方法都适用于这个用例。
我设法通过删除所有行然后在$timeout
之后重新创建它来使其工作。
我更新了你的plunker here。
主要编辑内容如下:
$scope.swapData = function() {
$scope.gridOpts.data = []{
$timeout(function() {
if (!$scope.isData2) {
$scope.gridOpts.data = data2;
$scope.gridOpts.columnDefs = columnDefs2;
}
else {
$scope.gridOpts.data = data1;
$scope.gridOpts.columnDefs = columnDefs1;
}
$scope.isData2 = !$scope.isData2;
});
};
答案 1 :(得分:0)
看起来ui-grid github repo上有一个answer。
来自撰稿人:
在单元格中,cellFilter与单元格模板一起加入 获取/使用模板。它没有得到实时更新。
可能的解决方案:
<server>
<id>nexus</id>
<username>deploy</username>
<password>deploy</password>
</server>
<server>
<id>nexus-admin</id>
<username>admin</username>
<password>admin123</password>
</server>