해결했습니다. 행 ID를 가져 오는 행 템플릿을 사용하고 행의 모든 셀에 대해 배경을 채우는 ng-mouseover
및 ng-mouseout
함수를 정의합니다. 어떤 이유로 든 div
에 전체 템플릿을 래핑해야했기 때문에 템플릿의 class
에 단순히 뭔가를 추가하면 전체 테이블이 손상되었습니다. rowTemplate
의
내용 : 컨트롤러에서
<div class="row-uid-{{row.uid}}">
<div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid"
ng-mouseover="grid.appScope.onRowHover(row.uid);"
ng-mouseout="grid.appScope.onRowOut(row.uid);"
ui-grid-one-bind-id-grid="rowRenderIndex + '-' + col.uid + '-cell'"
class="ui-grid-cell"
ng-class="{ 'ui-grid-row-header-cell': col.isRowHeader}"
role="{{col.isRowHeader ? 'rowheader' : 'gridcell'}}"
ui-grid-cell>
</div>
</div>
추가 기능 :
$scope.onRowHover = function (rowUid) {
_.each(angular.element('.row-uid-' + rowUid + ' .ui-grid-cell-contents'), function (row) {
angular.element(row).css('background-color', 'red');
});
};
$scope.onRowOut = function (rowUid) {
_.each(angular.element('.row-uid-' + rowUid + ' .ui-grid-cell-contents'), function (row) {
angular.element(row).css('background-color', 'white');
});
};