gpt4 book ai didi

javascript - 如何将自定义过滤器参数添加到已经对 beforeRequest 进行过滤的 MvcJqGrid postData?

转载 作者:行者123 更新时间:2023-11-30 18:08:42 27 4
gpt4 key购买 nike

我有一个简单的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});
}

最佳答案

解决方案很简单。正如我所怀疑的那样 .OnBeforeRequest("addSomeOtherID(grid)") 成功了。

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);

}
}

关于javascript - 如何将自定义过滤器参数添加到已经对 beforeRequest 进行过滤的 MvcJqGrid postData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15153261/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com