解決策は次のとおり
です。 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]);
}
}
};