Мне нужна помощь в отношении функции Angular UI Grid. В частности, я изучаю фильтрацию, и пока я смог успешно реализовать сортировку с использованием текстовых полей произвольной формы в моем приложении, как это делается в пример на их сайте Мне нужна помощь в поиске способа вместо сортировки использовать предварительно заполненное раскрывающееся меню для определенных столбцов.
Пояснение: под предварительным заполнением я подразумеваю, что раскрывающийся список заполняется с помощью моего кода. Я согласен, если решение содержит жестко закодированные данные, но моей конечной целью будет предварительное заполнение, состоящее из уникального набора значений данных сортируемого столбца :)
Я видел эту функциональность (например) в пользовательском интерфейсе Kendo (kendodropdownlist), но меня не интересует цена, которая идет вместе с этим решением. Я хотел бы придерживаться Angular UI-сетки, упомянутой (и связанной) выше. В StackOverflow я нашел один похожий вопрос, но, к сожалению, он не получил большого распространения. Я надеюсь, что, дав более подробное объяснение того, что я ищу, я получу более полный ответ, чем нашел там.
Вот что сейчас находится в моем контроллере:
var simpleMessagingApp = angular.module('MainAppCtrl', [ 'ngAnimate',
'ngTouch', 'ui.grid' ]);
simpleMessagingApp.controller('CacheTableCtrl', [ '$scope', '$http',
'uiGridConstants', function($scope, $http, uiGridConstants) {
$scope.columns = [ {
field : 'trans_detail',
displayName : 'Transaction'
}, {
field : 'cust_name',
displayName : 'Customer'
}, {
field : 'quantity',
displayName : 'Quantity',
filters : [ {
condition : uiGridConstants.filter.GREATER_THAN,
placeholder : 'greater than'
}, {
condition : uiGridConstants.filter.LESS_THAN,
placeholder : 'less than'
}
]
}, {
field : 'today_date',
displayName : 'Current Date'
} ];
$scope.gridOptions1 = {
enableSorting : true,
enableFiltering : true,
columnDefs : $scope.columns,
onRegisterApi : function(gridApi) {
$scope.grid1Api = gridApi;
}
};
$http.get("../services/Coherence/Cache").success(function(data) {
$scope.gridOptions1.data = data;
});
} ]);
Ниже приведен вывод - с текстовыми полями произвольной формы.
Для этого конкретного примера столбцы «Клиент», «Количество» и «Текущая дата» я бы, вероятно, оставил в виде раскрывающихся списков произвольной формы, но мне бы очень хотелось иметь возможность фильтровать с помощью предварительно заполненного раскрывающегося списка для транзакций (и чтобы он был в моем наборе инструментов). для будущих проектов, конечно!).
Спасибо!