2017-01-11 5 views
1

私はangularjsアプリケーションでUiグリッドを使用しています。私の要件は、私はuiグリッドのすべての列名を含む外部dropdow(uiグリッドの外側)です。特定の列名を選択すると、配列内のその列データのみを取得する必要があります。それを達成するための簡単な方法はありますか?外部ドロップダウンからカラム名に基づいてuiグリッドカラムデータのみを取得する必要があります

たとえば、このケースでは、http://ui-grid.info/docs/#/tutorial/217_column_moving、私の外部ドロップダウンで '名前'を選択すると、['Sandoval Mclean'、 'Nieves Mack'、...]を取得する必要があります。メール 'そして私が取得する必要があります[' [email protected]」、 '[email protected]'、...]

答えて

1

Plnkr

非常に簡単本当に、ちょうどあなたのドロップダウンをごcolumnDefsオフ構築有効なオブジェクトのプロパティを取得し、ドロップダウンの変更時にそれらを反復することがわかっています:

HTML:

<select ng-model="selectedColumn" 
    ng-options="opt.name as opt.name for opt in gridOptions.columnDefs" 
    ng-change="onColSelect()"></select> 

<ol> 
    <li ng-repeat="obj in myData track by $index">{{obj}}</li> 
</ol> 

JS:

$scope.onColSelect = function(){ 
    $scope.myData = []; 
    angular.forEach($scope.gridOptions.data, function (row, key) { 
     $scope.myData.push(row[$scope.selectedColumn]);   
}); 
関連する問題