При восстановлении JQGrid через jqGridImport поисковая информация неверна

После экспорта данных с использованием jqGridExport мы импортируем с использованием jqGridImport. Первая проблема заключалась в том, что опции нижней панели не возвращались, поэтому я добавил этот код после. Итак, код выглядит так:

$("#list").jqGridImport({imptype: 'jsonstring', impstring: gridSettings})
.jqGrid('navGrid','#pager', { edit: false, add: false, del: false, search: true, refresh:true },
{},{},{},{closeOnEscape: true, multipleSearch: true, closeAfterSearch: true},{});

Критическая часть строки gridSettings:
"postData":{"_search":true,
"nd":1301031279941,
"rows":20,
"page":1,
"sidx":"a.ID",
"sord":"asc",
"filters":{"groupOp":"AND","rules": [{"field":"fname","op":"bw","data":"T"}]}
}

Все подходит нормально, кроме поиска. Одна строка поиска из postData выше верна, но есть вторая строка поиска, которую я могу описать только как строку поиска по умолчанию. Если я зайду и уберу эту строку из окна множественного поиска, все будет так, как должно быть.

Итак, у меня первый вопрос: почему при поиске с использованием jqGridImport не запускается множественный поиск?
Во-вторых, есть ли способ программно удалить вторую строку поиска?

1 ответ

Решение

Поведение нижней панели с помощью навигатора правильное, поскольку оно реализовано не как часть сетки. Так что вам действительно нужно установить его дополнительно. Вы можете написать свой собственный экспорт и импорт настроек.

Ситуация с дополнительной последней строкой, которая будет добавлена ​​в диалог поиска, на самом деле является небольшой проблемой, которую можно исправить с помощью следующего кода:

var grid = $("#list");
...

grid.searchGrid(prmSearch);
if (typeof(grid[0].p.postData.filters) === "string" &&
    grid[0].p.postData.filters.length>0) {

    $("#fbox_"+grid[0].id).searchFilter().del();
}
$("#fbox_"+grid[0].id).searchFilter().close();

Вы можете увидеть соответствующую демонстрацию здесь. Это небольшая модификация демки из моего другого старого ответа.

Кстати, новый фильтр, который будет использоваться в следующей версии jqGrid, не будет иметь проблем (см. Демонстрацию здесь).

Другие вопросы по тегам