2017-04-10 3 views
0

ui-grid의 필드 중 하나의 헤더에 드롭 다운 값을 가져 오려고합니다. 동일한 필드의 경우 모든 행에 대한 드롭 다운이 정상적으로 작동합니다. 헤더 드롭 다운 선택에 따라 행의 모든 ​​드롭 다운 값을 선택해야합니다. 여기에 내 plunker 링크입니다. 누군가 제발 도와 드릴까요?ui-grid AngularJS의 헤더 드롭 다운

여기에 a link입니다!

var jsonDef = { name: 'Status', field: 'Status', width: 150, 
editType: 'dropdown', 
editableCellTemplate: 'ui-grid/dropdownEditor', 
headerCellTemplate: '<div class="ui-grid-cell-contents header-tcsi"><select 
ng-required = "true" ng-options="options.id as options.type for tcsiOption 
in grid.appScope.MainCtrl" ng-model="grid.appScope.selectedTCSI"></select> 
</div>', 
editDropdownIdLabel: 'id', 
editDropdownValueLabel: 'type', 
filter: { 
type: uiGridConstants.filter.SELECT, 
condition: uiGridConstants.filter.EXACT } 
}; 

var options = [{ 
id: 1, 
type: 'Closed' 
}, { 
id: 2, 
type: 'Pending' 
}, { 
id: 3, 
type: 'Open' 
}]; 
+0

데이터를 필터링하려고합니까? –

+1

모든 행 값에 선택한 머리글 값을 할당하려고합니다 (드롭 다운 값은 머리글과 행에 대해 동일합니다). –

답변

1

ng-options을 잘못 사용했습니다. appScope에서 액세스하려면 컨트롤러 $scope에 연결해야합니다.

headerCellTemplate: '<div class="ui-grid-cell-contents header-Status"><select ng-required = "true" ng-options="options.id as options.type for options in grid.appScope.dropdownoptions" ng-change= "grid.appScope.selectionChanged()"ng-model="grid.appScope.selectedStatus"></select> </div>' 

에주의 ng-options에 : 그럼 당신은 당신이 그렇게 같은 옵션을 사용하여 템플릿을 변경할 수 있습니다

ng-options="options.id as options.type for options in grid.appScope.dropdownoptions" 

당신은 당신의 코드를 작성한 방법을, 당신은 때 드롭 다운을들을 필요 그리드의 값을 변경 한 다음 업데이트합니다. 작업 예제는 Updated Plnkr을 확인하십시오.

+0

감사합니다 그란 얀. 그것은 효과가 있었다. :) –

+0

안녕 Guranjan, 나는 다른 계정에서 질문을 게시해야합니다. 여기에 대한 링크. 제발 좀 드롭 다운 표시 것들을 도와주십시오 제발 필터를? http://stackoverflow.com/questions/43924161/displaying-dropdown-in-different-way-with-angular-ui-grid-and-wants-to-add-filte –