Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用单个调用来检索数据,显示预先填充搜索工具栏的过滤jqgrid_Jqgrid - Fatal编程技术网

如何使用单个调用来检索数据,显示预先填充搜索工具栏的过滤jqgrid

如何使用单个调用来检索数据,显示预先填充搜索工具栏的过滤jqgrid,jqgrid,Jqgrid,我正在寻找一种显示jqgrid的方法,其中包含预填充的搜索工具栏和通过该工具栏过滤的数据。我尝试了下面的代码,但这会发出两个检索数据的请求。第一个请求检索 未过滤的数据,只有第二个请求检索正确的数据 如何消除第一个请求,以便检索过滤后的数据并立即预填充搜索工具栏 var grid = $("#grid"), notLoaded= true; grid.jqGrid({ datatype: "json", mtype: 'POST', loadComplete: function()

我正在寻找一种显示jqgrid的方法,其中包含预填充的搜索工具栏和通过该工具栏过滤的数据。我尝试了下面的代码,但这会发出两个检索数据的请求。第一个请求检索 未过滤的数据,只有第二个请求检索正确的数据

如何消除第一个请求,以便检索过滤后的数据并立即预填充搜索工具栏

var grid = $("#grid"),
    notLoaded= true;
grid.jqGrid({
datatype: "json",
mtype: 'POST',
   loadComplete: function() { 
     $("#gs_Name").val('<%= Request.QueryString["Name"] %>');
     if (notLoaded) {
       setTimeout( function() {
         $("#grid")[0].triggerToolbar();
         }, 100 );
       notLoaded = false;
       }
     }
 });
如果不满足:ftoolbar未定义。 我删除了此检查,但之后在第
tagName=control[0]行出现错误关于未定义的标记名

如何修复此问题?

您应该使用
search:true
postData:{filters:theFilterAsJSON}
参数创建jqGrid。你看,当然可以


更新:显示如何解析
postData.filters
并填充搜索工具栏的字段(只要可能)相应的筛选器。

非常感谢。成功了。我更改了代码,以便搜索条件作为json字符串传递,就像jqgrid传递一样。它包含工具栏搜索条件
column1name=value1和column2name=value2和…
{“groupOp”:“AND”,“rules”:[{“field”:“column1name”,“op”:“eq”,“data”:“value1”},{“field”:“column2name”,“op”:“eq”,“data”:“value2”}
。如何解析并用其中的值预填充搜索工具栏列?@Andrus:不客气!如果我对你的问题理解正确,你就会找到你问题的答案。它展示了如何解析
postData.filters
并填充搜索工具栏的字段(只要可能)相应的过滤器。谢谢。我试图使用您引用的答案,但refreshSerching工具栏中的if语句失败。我更新了问题。@安德鲁斯:如果网格DOM的
ftoolbar
属性是
undefined
,这意味着在创建搜索工具栏之前(调用
filterToolbar
之前),您试图使用
refreshingsearchingtoolbar
。非常感谢。是的,这就是问题所在。
$(function () {
    var grid = $("#grid"),
        urlFilters;
    var namedParameters = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'),
        parameters = {}, 
        nameAndValue, 
        i; 
    for (i = 0; i < namedParameters.length; i += 1) { 
        nameAndValue = namedParameters[i].split('='); 
        parameters[nameAndValue[0]] = decodeURIComponent(nameAndValue[1]); 
        if (nameAndValue[0] === "filters") { 
            urlFilters= decodeURIComponent(nameAndValue[1]); 
        } 
    } 

    grid.jqGrid({
     postData: { filters: urlFilters }, 
     search:true, 
     loadComplete: function() { 
         refreshSearchingToolbar( $(this), 'eq');
         }
     ...
if (typeof (postData.filters) === "string" &&
                        typeof ($grid[0].ftoolbar) === "boolean" && $grid[0].ftoolbar) {