【问题标题】:angular js dynamically add column to ui-gridangular js动态地将列添加到ui-grid
【发布时间】:2017-01-14 00:25:34
【问题描述】:

嗨,我正在开发 Angular js 应用程序,其中我正在使用 Angular ui-grid 显示绑定来自 mvc 控制器的数据。但是在我将数据绑定到 ui-grid 之后,我想向具有按钮的网格添加额外的列动态的每一行。我不知道该怎么做。任何帮助将不胜感激..

代码:这里 columnDefs 将绑定到 http 服务方法,该方法将调用 mvc 控制操作并绑定响应。我现在想添加新列。每行都有按钮。是否有任何将数组绑定到 columnDefs 字段:

    $scope.gridOptions = {
            enableColumnsResize: true,
            enableSorting: false,
            enableFiltering: false,
            autoResize: true,
            enableFocusedCellEdit: true,
            enableCellSelection: true,
            enableCellEditOnFocus: true,
            enableColumnMenus: false,
            columnDefs: [

            ],
            data:$scope.swap,
            onRegisterApi: function (gridApi) {
                $scope.grid1Api = gridApi;
            }

        };
$http.get('/Default1/GetJsonData')
            .success(function (result) {
                $scope.swap = result;
                $scope.gridOptions.push({name:'newcol',filter:'newcolarray'})

                $scope.gridOptions.data = $scope.swap;
                console.log(result);
            })
            .error(function (data) {
                console.log(data);
            });

【问题讨论】:

  • 嗨,您找到解决方案了吗?我有同样的问题。推送解决方案还会覆盖仅显示“newCol”的其他列

标签: angularjs model-view-controller angular-ui-grid columndefinition


【解决方案1】:

您应该能够在您的 success() 处理程序中执行以下操作

$scope.gridOptions.columnDefs.push({name: 'newCol', displayName: 'My new col'});

以此类推,在您设置 $scope.gridOptions.data 之前,每列一个这样的调用

【讨论】:

  • 我对此有疑问。它会覆盖 ui-grid..并仅显示 'newcol' 而不是将新列附加到现有的 ui-grid..你能告诉我..跨度>
  • 嗨,S.Baggy 我试过了..但它覆盖了 ui-grid 中的现有列,只显示新列..
  • 您可以粘贴用于添加列的代码吗?
  • 我粘贴了代码,我的要求略有变化,是否可以在 columnDefs 的字段中绑定数组。我有日期数组,我已将其绑定到字段,以便为每个日期创建列.我对代码做了一些更改
  • 在您的原始代码中,您将 columnDefs 设置为 [] (空数组),所以我不确定您是如何覆盖现有列的,因为它看起来没有?也许还缺少一些代码?如果你能创建一个 Plunker,如果你有时间,它会让事情变得容易得多。
猜你喜欢
  • 1970-01-01
  • 2019-03-01
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多