Angular UI Grid: So erstellen Sie ein vorab ausgefülltes Dropdown-Menü für die Spaltenfilterung

Ich suche Hilfe bezüglich einer Funktion desAngular UI Grid. Insbesondere erforsche ich Filterung und während ich erfolgreich das Sortieren mit Freiform-Textfeldern in meiner Anwendung implementieren konnte, wie imBeispiel auf ihrer Website Ich hätte gerne Hilfe bei der Suche nach einer Möglichkeit, stattdessen mithilfe eines vorab ausgefüllten Dropdown-Menüs für bestimmte Spalten zu sortieren..

Um klarzustellen Mit vorab ausgefüllt meine ich, dass ich möchte, dass die Dropdown-Liste durch meinen Code ausgefüllt wird. Ich bin in Ordnung, wenn die Lösung fest codierte Daten enthält, aber mein letztendliches Ziel wäre es, die Vorbelegung aus dem @ -Zeichen zusammenzusetzeeinzigarti Datensatz der zu sortierenden Spalte:)

Ich habe diese Funktionalität (zum Beispiel) in der Kendo-Benutzeroberfläche (kendodropdownlist) gesehen, bin aber nicht an dem Preis interessiert, der mit dieser Lösung einhergeht. Ich möchte mich an das oben erwähnte (und verlinkte) Angular UI-Gitter halten. Auf StackOverflow fand ich eine ähnliche Frage aber leider schien es nicht viel traktion bekommen zu haben. Ich hoffe, dass ich durch eine detailliertere Erläuterung meiner Suche eine vollständigere Antwort erhalte, als ich dort gefunden habe.

Hier ist, was aktuell in meinem Controller ist:

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

} ]);

Below ist die Ausgabe - mit den Freiform-Textfeldern

Für diese speziellen Beispielspalten Kunde, Menge und Aktuelles Datum würde ich wahrscheinlich als Dropdown-Felder in freier Form belassen, aber ich möchte wirklich in der Lage sein, mithilfe eines vorab ausgefüllten Dropdown-Felds für die Transaktionen zu filtern (und es in meinem zu haben) Toolbox für zukünftige Projekte natürlich!).

Vielen Dank

Antworten auf die Frage(8)

Ihre Antwort auf die Frage