Angular.js ui-grid-benutzerdefinierte filter Datum
Ich bin mit dem Winkel-raster, ui-grid, die sich an ui-grid.info.
Ich versuche, einen benutzerdefinierten filter, der filter-das Gitter nach Datum mit date-Eingänge Kontrollen, für weniger als und eine für mehr als.
Ich scheinen in der Lage, Holen Sie sich die Steuerelemente, wo ich will, dass Sie mit diesem in der columnDefs: { field: 'mixedDate', cellFilter: 'date', filterHeaderTemplate: '<div>From <input type="date"> to <input type="date"></div>' }
. Ich kann auch Sie irgendeine Art von Filterung, um durch setzen der data-ng-model="colFilter.Begriff", wenn man diese Dinge in einem anderen Bereich. Die Filterung scheint nicht einmal tun ein ist-gleich-obwohl.
Hat jemand code, der funktioniert oder kann mir in die richtige Richtung?
Hier sind einige tutorials zu dem Thema auf Ihrer eigenen Website, aber ich bin mir nicht ganz sicher, wie Sie Sie zu manipulieren, Sie zu meinen Anforderungen passen oder ob es überhaupt möglich ist.
- Können Sie eine plnkr zeigen Ihr Problem.
- Hier ein Beispiel: plnkr.co/Bearbeiten/R4cZa6dZllEjdHHMaHA9?p=Album Vorhören. Ich kann nicht scheinen, um die colFilter.Begriff zu arbeiten, jetzt aber. Es basiert auf der original-Probe aus dem ui-grid-Dokumentation
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meinst du so etwas ?
Zuerst sollten Sie jQuery UI Datepicker
Dann werden Sie auch erstellen einer Richtlinie für er:
In Ihrem columnDefs werden Sie auch brauchen, um die Nutzung von Kunden-filter und header-template:
filters:[{ condition: checkStart}, {condition:checkEnd}],filterHeaderTemplate: '<div class="ui-grid-filter-container">from : <input style="display:inline; width:30%" class="ui-grid-filter-input" date-picker type="text" ng-model="col.filters[0].term"/> to : <input style="display:inline; width:30%" class="ui-grid-filter-input" date-picker type="text" ng-model="col.filters[1].term"/></div>'
Davon ausgegangen, dass Sie momentjs
Der filter-Funktionen wird so sein:
Wenn jemand auf der Suche nach einer Lösung für dieses, ich implementierte benutzerdefinierte
FROM
undTO
Filter in der grid-header mit dem ui-bootstrap-modals mit datepickers in Ihnen. Sehen Sie diese plunker für details.Ist es offensichtlich, im Nachhinein, aber einer der tripwires bei der Suche nach der Lösung war, dass Sie sicher, dass die Datumswerte ausfüllen der Datum-Spalte im raster waren eigentlich der Typ
Date
. Wie es sich herausstellt, Vergleich der Daten aus den ausgewählten datepickers strings wird nicht Sie sehr weit kommen.Hinweis: diese Lösung hängt davon ab, lodash für einige Daten-transformation.
JS:
HTML:
Ich bin mit angular-ui-grid-3.1.1-und angular-ui-bootstrap-1.3.2.
Meine Lösung basiert auf ui-grid-filter helfen und Munna S /Bennett Adams Kommentare. Ich Erhielt eine Lösung mit weniger code.
Es arbeitet mit zwei filtern, und eine Benutzerdefinierte Vorlage ("ui-grid/custom-ui-grid-filter').
Denken Sie daran, dass in dem Zustand, Funktion, 'term' kommt aus dem DatePicker-filter und ein Datum. Auch, Wert ist ein string, formatiert als "yyyy-MM-dd' in meinem Beispiel.
Hier ist mein Plunkr
Hoffe, es hilft und wenn Sie irgendwelche Verbesserungen lasst es mich bitte wissen.
ich habe es mit einem benutzerdefinierten javascript-Methode