Невозможно переопределить фильтруемые операторы Kendo Grid - PullRequest
0 голосов
/ 13 марта 2019

У меня есть сетка кендо (MVC), у которой свойство Filterable определено следующим образом:

gridBuilder = gridBuilder.Filterable(filterable => filterable
                                            .Extra(false)
                                            .Operators(operators => operators
                                                .ForString(x => x.Clear()
                                                    .StartsWith("Starts With")
                                                    .IsEqualTo("Is Equal to")
                                                    .Contains("Contains")
                                                    .IsEmpty("Is Empty"))
                                                 .ForNumber(y => y.Clear()
                                                    .IsEqualTo("Is Equal To")
                                                    .IsGreaterThanOrEqualTo("Is Greater Than Or Equal To")
                                                    .IsLessThanOrEqualTo("Is Less Than Or Equal To"))
                                                  .ForDate(x => x.Clear()
                                                    .IsEqualTo("Is Equal To")
                                                    .IsGreaterThanOrEqualTo("Is Greater Than Or Equal To")
                                                    .IsLessThanOrEqualTo("Is Less Than Or Equal To"))
                                                  ));

Но в этой сетке есть столбец с целочисленными значениями, в котором шаблон клиента показывает строку вместо значения int. Мне нужно отфильтровать этот конкретный столбец с раскрывающимся списком, и мне нужно иметь только два оператора: «равно» и «не равно».

Я настраиваю этот столбец следующим образом:

gridBoundColumnBuilder = gridBoundColumnBuilder.Filterable(filterable => filterable.UI(handler)
                                                                .Extra(false)
                                                                .Operators(configurator => configurator
                                                                .ForString(str => str.Clear()
                                                                    .IsEqualTo("Is Equal To")
                                                                    .IsNotEqualTo("Is Not Equal To"))
                                                                .ForNumber(str => str.Clear()
                                                                    .IsEqualTo("Is Equal To")
                                                                    .IsNotEqualTo("Is Not Equal To"))));

Проблема в том, что в столбце все еще используются операторы по умолчанию, которые я определил ранее. Если я проверю «gridBuilder», я вижу, что у него есть фильтруемое свойство с операторами по умолчанию, а внутри gridBuilder.columns есть также свойство filterableSettings с пользовательскими операторами. Тем не менее, операторы сетки по умолчанию используются всегда. Операторы фильтра каждого столбца игнорируются. Есть ли способ исправить это и использовать оператор столбца, если он определен?

...