从PHP后端加载自定义响应到Jqgrid

时间:2013-01-06 11:55:01

标签: php jquery jqgrid

我几天来一直在寻找解决我的情况的方法,而且我似乎无法找到任何可以帮助我的方法。

我允许我的用户使用简单的表单在数据库上进行自定义搜索,然后服务器发回一个表示结果的JSON编码对象(此部分正常运行)。

问题是网格没有刷新,我似乎无法显示这些结果。

我试图做以下事情,但它只是再次刷新网格,然后向我显示所有结果,而不进行任何搜索。

我可以以某种方式调整jqgrid以显示搜索结果吗?。

在我完成此操作之后,我还想将我的系统与jqgrid的排序和分页功能结合起来(允许我的客户对其结果进行分页和排序)。

先谢谢你们的帮助!

enter code here

 $(function() {

    $("#list2").jqGrid({
        url:'applicants.temp.php',
        datatype: "json",
         width: 900,
         height: 300,
         scroll: false,
         shrinktofit: false,
         gridview: true,
         direction: '<?=$web_direction?>',
         colNames:['id', '<?=$mylabel["last_updated"]?>', '<?=$mylabel["job_title"]?>', '<?=$mylabel["applicant_name"]?>', '<?=$mylabel["cv_filename"]?>', '<?=$mylabel["referer_name"]?>',
        '<?=$mylabel["note"]?>', '<?=$mylabel["media_id"]?>', '<?=$mylabel["ref_type"]?>', '<?=$mylabel["job_internal_id"]?>', 'status_id', 'job_id', ''],
          colModel:[
          {name: 'id',index:'2', width:10, hidden: true, align:'<?=$col_direction?>'},
          {name:'last_updated', index:'1', width:20, align:'<?=$col_direction?>'},
          {name:'job_title',index:'8', width: 20, align:'<?=$col_direction ?>'},
          {name:'applicant_name', index:'3', width:40, align:'<?=$col_direction?>'},
          {name:'cv_filename',index:'11', width:30, align:'center'}, 
          {name:'referer_name', index:'4', width:40, align:'<?=$col_direction?>'},
          {name:'note',index:'10', width:60, align:'<?=$col_direction?>'},  
          {name:'media_id',index:'5', width:20, align:'<?=$col_direction?>'},    
          {name:'ref_type',index:'6', width:20, align:'<?=$col_direction?>'}, 
          {name:'job_internal_id',index:'9', width:15, hidden: false, align:'
          <?=$col_direction?>'}, 
          {name:'status_id',index:'12', hidden:true, width:0, align:'<?=$col_direction?                             >'},
          {name:'job_id',index:'7', hidden:true, width:0, align:'<?=$col_direction?>'},
          {name:'empty', width:60, sortable:false ,index:'13', hidden:'hidden',  align:'center'}

        ],
        rowNum:20,
        rowList:[20,40,60],
        pager: '#pager2',
        sortname: '1',
        viewrecords: true,
        sortorder: "DESC",
        caption:"<?=get_phrase("Applicants")?>",
        loadonce:false,
        postData: { medias: function(){return $("#medias option:selected").val();},
                    types: function(){return $("#types option:selected").val();},
                    jobs: function(){return $("#jobs option:selected").val();},
                    applicant: function(){return $("#applicant").val();},
                    referrer: function(){return $("#referrer").val();} }

    });

});

1 个答案:

答案 0 :(得分:1)

您应该包含显示如何创建网格的代码。与jqGrid相关的唯一代码是行$('#grid').trigger('reloadGrid');,但我没有看到您在重新加载之前对网格进行任何更改。所以你可能有与以前相同的网格结果。

我建议您阅读the answer,其中介绍了如何从控件发送到服务器的其他自定义信息,您可以在后端使用这些信息来过滤数据。我想如果你按照自己的方式解决问题,我可以解决你的问题。