我有一个简单的jqgrid
@(Html.Grid("something")
.SetCaption("")
.AddColumn(new Column("ID").SetHidden(true))
.AddColumn(new Column("Name").SetLabel("Name").SetSearch(true))
.SetUrl(Url.Action(something))
)我用javascript编写了var SomeOtherID = 2。我需要添加这个SomeOtherID来过滤网格加载时的参数(实际上在同一页上有许多网格,它们都需要这个),而不会丢失默认的seatch功能。我想我需要在.OnBeforeRequest("addSomeOtherID()")上添加这个函数,但是在里面做什么呢?
function addSomeOtherID(grid)
{
var pd = grid.getGridParams("postData");
?????? here I need to add SomeOtherID to postData filters
grid.setGridParams({postData: pd});
}发布于 2013-03-01 17:39:31
解决方案很简单。因为我怀疑.OnBeforeRequest(“addSomeOtherID(网格)”)做到了这一点。
function addGridSearchOption(grid, fieldName, fieldValue) {
if (grid[0].p.search == false) {
f = { groupOp: "OR", rules: [] };
f.rules.push({ field: fieldName, op: "cn", data: fieldValue });
grid[0].p.search = true;
$.extend(grid[0].p.postData, { filters: JSON.stringify(f) });
}
else {
tFilters = eval('(' + grid[0].p.postData.filters + ')');
var bAddRule = true;
var i = 0;
for (var tRule in tFilters.rules)
{
if (tFilters.rules[i].field == fieldName)
{
tFilters.rules[i].data = fieldValue;
bAddRule = false;
}
i++;
}
if (bAddRule) {
tFilters.rules.push({ field: fieldName, op: "cn", data: fieldValue });
}grid[0].p.postData.filters = JSON.stringify(tFilters);
}
}发布于 2013-03-01 18:19:14
使用MvcJqgrid可以设置列的默认搜索值,示例如下:
http://playground.webpirates.nl/MvcJqGrid/Home/DefaultSearchValue
如果你看一下这个页面的源代码,你会发现它是如何做到的。
发布于 2013-05-02 12:51:11
这真是太棒了,我用过了,而且很管用。不知道为什么@SpokeST说它不可用,我没有启用搜索工具栏,它对我有效。
对于将来的读者,请注意代码中的第4行将“data”变量赋值为"2“,而不是fieldValue参数。我猜那是测试后剩下的东西..
再次感谢!
https://stackoverflow.com/questions/15153261
复制相似问题