Сделайте фильтр ExtJS типа "int` с "равным` сравнением
Я использую ExtJS
в одном старом (и не моем) проекте, и мне нужно его отладить.
Итак, у меня есть один код в форме поиска:
var pm = Ext.getCmp('ddlFltrPM').getValue();
if(pm && pm > 0)
filters.push({dataIndex: 'project_manager_id', type: 'string', value: pm});
Это работает, но в php-коде функция преобразует этот фильтр в sql-запрос следующим образом:AND project_manager_id LIKE %...%
( по умолчанию функция преобразования), потому что это string
файл поиска.
Но мне нужно точное совпадение. Поэтому, когда я пытаюсь сделать что-то вроде этого:
var pm = Ext.getCmp('ddlFltrPM').getValue();
if(pm && pm > 0)
filters.push({dataIndex: 'project_manager_id', type: 'int', comparison:'eq', value: pm});
..фильтр не отображается в СООБЩЕНИИ. Я перепробовал множество вариантов type
и comparison
, но ничего не работает.
Итак, как я могу изменить это поле фильтра на int
с помощью сравнения eq
?
Спасибо за ваши предложения.
Станислав.
4
1 answers
Я решил эту проблему. Но было трудно отлаживать код ExtJS шаг за шагом. Итак, код:
var pm = Ext.getCmp('ddlFltrPM').getValue();
if(pm && pm > 0)
filters.push({dataIndex: 'project_manager_id', type: 'int', value: {"eq":pm}});
4
Author: StasGrin, 2012-11-23 12:39:26