Grade da interface do usuário angular: como criar um menu suspenso pré-preenchido para filtragem de colunas

Estou procurando alguma ajuda com relação a um recurso doGrade da interface do usuário angular. Especificamente, estou explorandofiltragem e enquanto eu era capaz de implementar com êxito a classificação usando campos de texto de formato livre no meu aplicativo, como eles fazem noexemplo em seu site Gostaria de alguma ajuda para encontrar uma maneira de classificar usando um menu suspenso pré-preenchido para determinadas colunas.

Esclarecer: Por pré-preenchido, quero dizer que gostaria que o menu suspenso fosse preenchido através do meu código. Estou bem se a solução contiver dados codificados, mas meu objetivo final seria fazer com que a pré-população fosse composta peloúnico conjunto de valores de dados da coluna que está sendo classificada :)

Vi essa funcionalidade (por exemplo) na interface do Kendo (kendodropdownlist), mas não estou interessado no preço que acompanha essa solução. Gostaria de manter a grade da interface do usuário angular mencionada (e vinculada) acima. No StackOverflow, encontrei umpergunta semelhante mas, infelizmente, não parecia ter conseguido muita tração. Espero que, dando uma explicação mais detalhada do que estou procurando, receba uma resposta mais completa do que encontrei lá.

Aqui está o que está atualmente no meu controlador:

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;
    });

} ]);

Abaixo está a saída - com os campos de texto de formato livre

Para este exemplo específico das colunas Cliente, Quantidade e Data atual, eu provavelmente deixaria como menus suspensos de forma livre, mas gostaria realmente de poder filtrar usando um menu suspenso pré-preenchido para as transações (e tê-lo em minha caixa de ferramentas para projetos futuros, é claro!).

Obrigado!

questionAnswers(4)

yourAnswerToTheQuestion