2013-07-20 2 views
0

Я хочу программно настроить мой фильтр для моей расширенной сетки. Вот мой подход:«Невозможно вызвать метод« toLowerCase »неопределенного» при использовании grid.setFilter (...)

//concat query string 
console.log(queryString); 
grid.setFilter(queryString, 'logicany'); 

Я получаю ошибку

Uncaught TypeError: Cannot call method 'toLowerCase' of undefined FilterDefDialog.js.uncompressed.js:949 

и лог консоли для строки запроса выглядит

[{type:'string',column:1,condition:'contains',value:'test'},{type:'string',column:1,condition:'contains',value:'13'}] 

Но когда я установил жёстко прописанную строку запроса, как это:

grid.setFilter([{type:'string',column:1,condition:'contains',value:'test'},{type:'string',column:1,condition:'contains',value:'13'}], 'logicany'); 

it работает. Что с этим не так?

ответ

0

Попробуйте преобразовать строку в объект JSON и передать это. Если вы используете jQuery, используйте parseJSON.

var objQueryString = $.parseJSON(queryString); 

grid.setFilter(objQueryString , 'logicany'); 
Смежные вопросы