Как добавить диапазон даты или чисел (слайдер) в фильтре таблицы

Для этого выбираем в колонке “В фильтре” Диапазон дат или Диапазон чисел

В фильтре появится плагин для выбора дат или чисел.

 

Фильтр по диапазону дат daterange

Даты в выходном значении фильтра будут разделены знаком “ - ”,а числа “,” (в хранимой процедуре вам нужно будет обработать это разделение для получения границ диапазона).

Как обработать даты в GetItems процедуре для таблицы: 

    declare @fdt nvarchar(max) 
    select @fdt=value from @filters where [Key] = 'dt'
    declare @minDate date = try_convert(date,dbo.str_splitPart(@fdt,' - ',1),104)
    declare @maxDate date = try_convert(date,dbo.str_splitPart(@fdt,' - ',2),104)
    set @maxDate = dateadd(day, 1, @maxDate) 



... where 
... and (@minDate is null or year(@minDate)<2000 or (@minDate <= f.created and f.created <= @maxDate ))
      

ВАЖНО: Увеличиваем maxDate на 1 день, чтобы сравнивать даты от min до max (иначе вы не захватите последний день). 

Можно также установить свои предустановленные значения для фильра следующим образом: 

Добавляем подключение moment.min.js 

<script src="/js/moment.min.js"></script>

И сами значения фильтра устанавливаем через JS страницы:

$(function(){
  	var range = {};
	range["Сегодня"] = [moment(), moment()];
	range["Завтра"] = [moment().add(1, 'days'), moment().add(1, 'days')];
	range["Следующие 7 дней"] = [ moment(), moment().add(6, 'days')];
	range["Следующие 30 дней"] = [moment(), moment().add(29, 'days')];
	range["Следующие 3 месяца"] = [moment().startOf('month'), moment().add(3, 'month').endOf('month')];
    as.daterangeVariants = range;
});  

Фильтр таблицы Диапазон чисел intrange

Для числового диапазона в базе вам необходимо в настройках кколонки поле Фильтр Не выбрано значение указать  min,max,step - например "10,100,2"

Страница-источник на сайте falconspace.ru