Angular UI Grid: как создать предварительно заполненное выпадающее меню для фильтрации столбцов
Я ищу некоторую помощь относительно функцииУгловая UI Grid, Конкретно я изучаюфильтрация и хотя мне удалось успешно реализовать сортировку с использованием текстовых полей произвольной формы в моем приложении, как они это делают впример на их сайте Я хотел бы помочь найти способ сортировки, используя предварительно заполненное раскрывающееся меню для определенных столбцов.
Чтобы уточнить: Под предварительным заполнением я подразумеваю, что хотел бы, чтобы раскрывающийся список заполнялся в моем коде. Я в порядке, если решение содержит жестко закодированные данные, но моя конечная цель состояла бы в том, чтобы предварительная популяция состояла изуникальный набор значений данных сортируемого столбца :)
Я видел эту функциональность в (например) пользовательском интерфейсе Kendo (kendodropdownlist), но меня не интересует ценник, который поставляется вместе с этим решением. Я хотел бы придерживаться угловой 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;
});
} ]);
Ниже вывод - с текстовыми полями произвольной формы
Для этого конкретного примера столбцы «Клиент», «Количество» и «Текущая дата» я бы, вероятно, оставил как раскрывающиеся списки произвольной формы, но мне бы очень хотелось иметь возможность фильтрации с использованием предварительно заполненного раскрывающегося списка для транзакций (и иметь его в своем наборе инструментов для будущих проектов конечно!).
Спасибо!