http://www.stepday.com/topic/?873
今天在使用EasyUI的datagrid列表組件想實現一個列表的展現,且列表上方有搜索條件,初始化的時候我是這樣配置的:
1.
<
table
id
=
"tBaoXiuList"
title
=
""
class
=
"easyui-datagrid"
style
=
"width: 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'
);
示例效果如如下所示: