У меня есть сетка кендо (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 с пользовательскими операторами. Тем не менее, операторы сетки по умолчанию используются всегда. Операторы фильтра каждого столбца игнорируются. Есть ли способ исправить это и использовать оператор столбца, если он определен?