Как фильтровать данные в ng-grid на основе диапазона дат

Используя $scope.gridOptions.filterOptions.filterText, я могу фильтровать свои данные. Например, для фильтрации на основе страны назначения я устанавливаю filterText как:

$scope.gridOptions.filterOptions.filterText += 'DestinationCountry:' + $scope.filter.DestinationCountry + ';';

Однако я не могу понять, как фильтровать столбец даты на основе диапазона дат, то есть между датой и датой.


person Moiz    schedule 02.12.2013    source источник


Ответы (1)


Я недавно исследовал этот же вопрос. Я не верю, что можно отфильтровать столбец даты по диапазону, используя filterOptions.filterText, начиная с ng-grid v2.0.7. Причина в том, что ng-grid запускает фильтр регулярных выражений для строкового представления данных. Если вы посмотрите на код здесь, ng-grid выполняет фильтр ячеек для данного столбца, а затем ищет результирующую строку. В некоторых случаях вы могли бы создать соответствующее регулярное выражение, учитывая, что вы знаете формат даты cellFilter (например, «201[01]» для поиска 2010 и 2011), но это не будет работать для каждого случая фильтрации даты, который у вас был бы. .

Это оставляет ваш лучший вариант в качестве фильтрации на стороне сервера. Конечно, вы всегда можете открыть вопрос на github и запросить эту функциональность в будущей версии. Кроме того, можно было бы написать плагин для фильтрации строк с помощью пользовательской функции, но я еще не вникал в это.

person Geoff    schedule 23.01.2014