jqgrid 中的 Pre-select 过滤器(multi-select)
Pre-select filters in jqgrid (multi-select)
以此为例(http://www.ok-soft-gmbh.com/jqGrid/SimpleLocalGridWithSearchingToolbarMultilpe.htm) from this question (Excel like filtering in jqgrid)
有没有办法从一开始就设置过滤器参数?例如,在 'Shipped via' 列中,我希望选中 'TNT' 和 'Intim',不选中 'FedEx'。
我认为可行的一个解决方案是 ship_via
if(id == 'gs_ship_via'){
_.forEach($options, function(option){
if(option.value != 'FexEx'){
option.selected = true;
} else {
option.selected = false;
}
});
}
之后我 运行 遇到的问题是它不更新网格中的数据。因此,我需要一种不同的方式来设置复选框,以更新网格的方式加载后。
我想您需要包含 change
事件 ($("#gs_ship_via").change();
) 的触发器或调用 triggerToolbar
($grid[0].triggerToolbar();
)。确切的解决方案在很大程度上取决于您进行更改的位置。如果您要更改 multi-select 选项,例如 在 初始化 multiselect 之后,您可能会看到错误的 multiselect 选项,并且您可以需要调用 refresh
.
请参阅 the demo,其中显示的结果类似于
可能可以修改 the solution for setting multiple values which uses the idea from the answer,但像我现在这样需要多一点时间。 :-(
以此为例(http://www.ok-soft-gmbh.com/jqGrid/SimpleLocalGridWithSearchingToolbarMultilpe.htm) from this question (Excel like filtering in jqgrid)
有没有办法从一开始就设置过滤器参数?例如,在 'Shipped via' 列中,我希望选中 'TNT' 和 'Intim',不选中 'FedEx'。
我认为可行的一个解决方案是 ship_via
if(id == 'gs_ship_via'){
_.forEach($options, function(option){
if(option.value != 'FexEx'){
option.selected = true;
} else {
option.selected = false;
}
});
}
之后我 运行 遇到的问题是它不更新网格中的数据。因此,我需要一种不同的方式来设置复选框,以更新网格的方式加载后。
我想您需要包含 change
事件 ($("#gs_ship_via").change();
) 的触发器或调用 triggerToolbar
($grid[0].triggerToolbar();
)。确切的解决方案在很大程度上取决于您进行更改的位置。如果您要更改 multi-select 选项,例如 在 初始化 multiselect 之后,您可能会看到错误的 multiselect 选项,并且您可以需要调用 refresh
.
请参阅 the demo,其中显示的结果类似于
可能可以修改 the solution for setting multiple values which uses the idea from the answer,但像我现在这样需要多一点时间。 :-(