Я работаю над ошибкой, когда на одном экране есть сетка, содержащая столбец с числами, но когда я пытаюсь его отфильтровать, у него есть опция «содержит».
Когда я набираю 0, я получаю сообщение об ошибке.
Мне нужно отфильтровать этот столбец как число, а не как строку.
Это фрагмент кода:
columns.Bound(x => x.DebitAmount).Title("Debit").Width(300).ClientTemplate("#=kendo.toString(DebitAmount,'c') #").ClientFooterTemplate("#=kendo.toString(sum,'c') #");
columns.Bound(x => x.CreditAmount).Title("Credit").Width(300).ClientTemplate("#=kendo.toString(CreditAmount,'c') #").ClientFooterTemplate("#=kendo.toString(sum,'c') #");
..................
.Filterable(ftb => ftb.Mode(GridFilterMode.Menu)
.Extra(false)
.Operators(operators => operators
.ForString(str => str.Clear()
.Contains("Contains")
.IsEqualTo("EqualTo")
.IsNotEqualTo("NotEqualTo")
.IsEmpty("Empty")))
.Operators(operators => operators
.ForNumber(str => str.Clear()
.IsEqualTo("EqualTo")
.IsGreaterThan("GreaterThan")
.IsLessThan("LessThan")
)).Messages(m => m.IsFalse(" False "))
.Messages(m => m.IsTrue("True ")))
Модель объявляет эти поля десятичными
Это сгенерированная часть экрана:
![enter image description here](https://i.stack.imgur.com/5qgZc.png)
У другого экрана есть другая фильтруемая сетка с полем Amount. Все параметры объявляются одинаково, но фильтр этого экрана для поля «Сумма» не отображает опцию «содержит» при отображении.
Это код:
columns.Bound(c => c.Amount).Title("Amount").ClientTemplate("#= kendo.toString(Amount,'c')#").Width("120px");
......................
.Filterable(ftb => ftb.Mode(GridFilterMode.Menu)
.Extra(false)
.Operators(operators => operators
.ForString(str => str.Clear()
.Contains("Contains")
.IsEqualTo("EqualTo")
.IsNotEqualTo("NotEqualTo")
.IsEmpty("Empty")))
.Operators(operators => operators
.ForNumber(str => str.Clear()
.IsEqualTo("EqualTo")
.IsGreaterThan("GreaterThan")
.IsLessThan("LessThan")
)))
Это часть экрана:
![enter image description here](https://i.stack.imgur.com/h02FM.png)
При определении операций фильтрации все выглядит одинаково (за исключением части сообщений), но почему-то на первом экране операция «содержит» включена, а на втором - нет.
Чего мне не хватает?