如何在用户选择的行上仅在ui-grid上绑定?

时间:2017-06-15 05:44:15

标签: javascript angularjs angular-ui-grid

我正在使用角度ui-grid进行动态数据加载。我可以从用户行选择选项中获取控制台结果。在用户行选择之后,最初ui-grid已经加载了数据,仅加载了选定的行。请告诉我如何实现此功能。我通过以下代码获得行选择结果;

columnDefs:  columnNames.map(colName => {
        return {
          name: colName,
          type: DefaultTableColumnType,
          cellTemplate: `
            <div ng-click="grid.appScope.clickHandler(row)" ng-if="!grid.getCellValue(row, col).startsWith('%html')"
                 class="ui-grid-cell-contents">
              {{grid.getCellValue(row, col)}}
            </div>
            <div  ng-click="grid.appScope.clickHandler(row)" ng-if="grid.getCellValue(row, col).startsWith('%html')"
                 ng-bind-html="grid.getCellValue(row, col).split('%html')[1]"
                 class="ui-grid-cell-contents">
            </div>
          `,
        }
      }),
    appScopeProvider: {
                    clickHandler: function onCellClick(row) {
    console.log("Entered");
        console.log(row.entity);
      }

1 个答案:

答案 0 :(得分:0)

您所要做的就是使用仅包含该元素的新数组更改填充表的数据。

如果您使用$ scope.data = [...];

然后应该是:

appScopeProvider: {
      clickHandler: function onCellClick(row) {
        console.log(row.entity);
        $scope.data = [row.entity];
      }
  }