1

UIグリッドの+および-アイコンで機能するため、行クリックでグループ化を展開および折りたたもうとしています。

以下のように行テンプレートから treeButtonClick(row, $event) を呼び出そうとしています。しかし、トリガーしない機能。

rowTemplate: '<div ng-click="treeButtonClick(row, $event)" ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid" class="ui-grid-cell" ng-class="col.colIndex()" ui-grid-cell></div>',

また、これは、UI グリッドでのグループ化において、+ および - アイコンと同等に機能する必要があります。

それを機能させる方法を提案してください、事前に感謝します

4

2 に答える 2

1

解決策は次のとおり
です。 1. テーブルのカスタム テンプレートを作成します。

<div ng-mousedown="grid.appScope.onMouseDown(row, $event)"
     ng-click="grid.appScope.onDblClickRow(row.entity)" grid="grid" class="ui-grid-row">
    <div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name"
         class="ui-grid-cell" ng-class="{ 'ui-grid-row-header-cell': col.isRowHeader, custom: true }"
         ui-grid-cell></div>
</div>

rowTemplate として使用するテンプレートと独自のアプリ スコープ プロバイダーを指定します。

vm.gridOptions = {
            appScopeProvider: myAppScopeProvider,
            rowTemplate: 'app/pages/components/building/buildReqViewAll/rowTemplate.html',
            onRegisterApi: function (gridApi) {
                vm.gridApi = gridApi;
            }
        };

行を開く機能:

var myAppScopeProvider = {
            onClickRow: function (row, event) {
                var rowIndex = row.grid.renderContainers.body.visibleRowCache.indexOf(row);

                if (!angular.isUndefined(row.treeLevel)) {
                    vm.gridApi.treeBase.toggleRowTreeState(vm.gridApi.grid.renderContainers.body.visibleRowCache[rowNumber]);
                }
            }
        };
于 2016-12-23T11:30:44.063 に答える