При восстановлении JQGrid через jqGridImport поисковая информация неверна - PullRequest
2 голосов
/ 25 марта 2011

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

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

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

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

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

1 Ответ

2 голосов
/ 25 марта 2011

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

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

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, не будетесть проблема (см. демо здесь ).

...