EasyUI实战篇之datagrid:如何重新设置datagrid所配置的属性(options)并重新查询列表(relaod)

http://www.stepday.com/topic/?873

今天在使用EasyUI的datagrid列表组件想实现一个列表的展现,且列表上方有搜索条件,初始化的时候我是这样配置的:

1.<table id="tBaoXiuList" title="" class="easyui-datagrid" style=" 723px; height: auto" url="/AjaxCommon/t_baoxiu_ajax.asp?type=getIndexList" toolbar="#bar_search" pageSize="30" pagination="true" rownumbers="true" fitcolumns="true" singleselect="true">
2. 
3.</table>

这样根据参数是可以查询出数据的。但是当我想根据查询参数进行数据过滤的时候,定然是需要将参数加入到默认url后面去才行的。

开始想到的办法是通过datagri的属性queryParams来实现:

1.$('#tBaoXiuList').datagrid({
2.queryParams:{
3.keyName:keyName,
4.keyVal:keyVal
5.}
6.});
7. 
8.$('#tBaoXiuList').datagrid("reload");

结果发现这样并未将参数传递到后台页面进行数据过滤。

最后想到的方法是先通过datagtrid的options属性找到且url,修改url后通过reload再次请求数据,示例代码如下所示:

1.var keyName = $("#txtKeyName").combobox("getValue");
2.var keyVal = $("#txtKeyVal").val();
3. 
4.$('#tBaoXiuList').datagrid('options').url = "/AjaxCommon/t_baoxiu_ajax.asp?type=getIndexList&keyName=" + keyName + "&keyVal=" + escape(keyVal);
5.$("#tBaoXiuList").datagrid('reload');

示例效果如如下所示:

原文地址:https://www.cnblogs.com/zkwarrior/p/4845112.html