我正在使用ng-grid,我已经在其上实现了搜索功能,但我想通过更改下拉值来更改orderby选项。
我希望提供有关其价值数据更改的下拉信息。
默认情况下排序功能可以点击表标题,但我需要在更改下拉列表时更改排序顺序。
这个代码我来自某个地方,但我不知道如何使用它?
$scope.gridOptions = {
data: 'gridData',
columnDefs: [
{field: 'name', displayName: 'Name'},
{field:'ageWord', displayName: 'Age'}
],
sortInfo: {
fields: ['age'],
directions: ['asc']
}
};
答案 0 :(得分:1)
您需要为网格选项的sortInfo
和useExternalSorting
定义值,如下所示:
$scope.gridOptions.useExternalSorting = true;
$scope.gridOptions.sortInfo = {
fields: [$scope.selectedDropDownOption], // <-- or whatever variable used to store selected option from dropdown
directions: ['asc']
};
答案 1 :(得分:0)
例如:如果您想按name
排序,可以设置
sortInfo: { fields: ['name'], directions: ['asc']}
这将按名称和升序排序您的网格
您还想在useExternalSorting = true
中设置gridOptions
。
答案 2 :(得分:0)
我使用了以下代码,,,
HTML:
<input type="text" ng-model="sortColumn"></input>
<button type="button" class="btn" ng-click="updateSortInfo()">Sort</button>
aap.js ::
$scope.updateSortInfo = function() {
$scope.gridOptions.sortBy($scope.sortColumn);
}
答案 3 :(得分:0)
在寻找类似事物的解决方案时到达这里。在尝试了所有选项后,我已经应用了这个。
//Disable Grid Ui Sorting through header
$scope.gridOptions.enableSorting = false;
//Apply angular 'orderBy' filter to data for grid ui
$scope.resultSetTable = $filter('orderBy')($scope.gridData, 'YOUR_SORT_COLUMN');
// Apply data to grid ui
$scope.gridOptions.data = $scope.resultSetTable;