在尝试将GridUnload作为过滤器,排序,组等方面的先前状态后,我正在尝试恢复网格。我成功地恢复了所有这些,但遗漏了网格中的一些视觉方面,这些视觉方面不是我正在恢复的数据的一部分,因此我看不到它们。
例如,我确实恢复了过滤器值(toolbarfilter),但我无法在工具栏中看到过滤器值。 (他们在那里,因为我可以使用$(“#gview _”+ $ grid.attr('id')+'#'+ inputId).val(column.data)恢复它们,但我不知道如何让它们重新出现而不用手动迭代它们。
谢谢,
塔尔。
答案 0 :(得分:0)
我认为如果您已经填充过滤器工具栏的所有字段,那么您只需调用triggerToolbar
方法即可。小心那个方法是DOM元素的方法。所以你可以打电话
$grid[0].triggerToolbar();
答案 1 :(得分:0)
最后,我通过执行以下操作恢复了toolbarfilter:
regexEscape = function(s) {
return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
};
function restoreToolbarFilter($grid,searchParams){
for (key in searchParams) {
// Restore the search input string
var column = searchParams[key];
inputId = regexEscape('gs_' + column.field);
$("#gview_"+$grid.attr('id')+' #' + inputId).val(column.data);
// Restore the search filter type and operator symbol
operator = $("#gview_"+$grid.attr('id')+' #' + inputId).closest('tr').find('.soptclass');
$(operator).attr('soper', column.op);
operands = { "eq":"==",
"ne":"!",
"lt":"<",
"le":"<=",
"gt":">",
"ge":">=",
"bw":"^",
"bn":"!^",
"in":"=",
"ni":"!=",
"ew":"|",
"en":"!@",
"cn":"~",
"nc":"!~",
"nu":"#",
"nn":"!#" };
$(operator).text(operands[column.op]);
}
}