頁面
function selectJobLog(){
var txDate=$("#txDate").val();
var jobName=$("#jobName").val();
$("#tableList").jqGrid({
url:"${pageContext.request.contextPath}/listLogDb",
postData:{"txDate":txDate,"jobNameStr":jobName},
rownumbers : true, // 是否顯示前面的行號
datatype : "post", // 返回的數據類型
height : "auto", //
mtype: "post",
width:window.screen.availWidth-20,
autowidth: false,
shrinkToFit: true,
colNames:['作業名稱','用戶名','數據類型','數據日期','開始時間','結束時間','執行狀態','導出文件名稱','文件條數'],
colModel : [
{name : 'jobName',index :'jobName',width : 80,sortable : true,align : 'center'},
{name : 'userId',index : 'userId',width : 20,sortable : true,align : 'center'},
{name : 'dataType',index : 'dataType',width : 40,sortable : true,align : 'center'},
{name : 'txDate',index : 'txDate',width : 40,sortable : true,align : 'center'},
{name : 'startTime',index : 'startTime',width : 10,sortable : true,align : 'center'},
{name : 'endTime',index : 'endTime',width : 30,sortable : true,align : 'center'},
{name : 'exeStatus',index : 'exeStatus',width : 30,sortable : true,align : 'center'},
{name : 'expFileName',index : 'expFileName',width : 40,sortable : true,align : 'center'},
{name : 'count',index : 'count',width : 40,sortable : true,formatter:'number',align : 'center'}],
viewrecords : true,
sortname : "jobName",
rowNum : 20,
rowList : [10, 15, 20],
jsonReader : {
root : "rows", // 服務端保存數據的集合
repeatitems : false,
page: "page",
total: "total",
records: "records",
id:"jobName"
},
pager : "#gridPager",
hidegrid : false,
multiselect: true,
}).trigger('reloadGrid');
}
上那樣寫對麼?servlet接受不到發送的參數
返回的json數據不能是LIST格式的麼,已經要是這樣的麼?List> results
$("#tableList").jqGrid({。。。。這個構造不要放在你點擊查詢的按鈕事件中,而是放在$(function(){..}裡面,要不只有第一次有效,jqgrid對某個對象生成後在執行構造是不執行任何操作的
你的function selectJobLog函數只需要執行下面的代碼更新要傳輸的數據就行了,不要重復對同一個對象執行構造
$('#xxx').jqGrid('setGridParam',{postData:{"txDate":txDate,"jobNameStr":jobName}}).trigger("reloadGrid");
具體看這個分析: jqGrid方法再次執行無效無法刷新數據
自己好好看下API,jqGrid4.0中文API
英語好你最好直接看e文版本的,裡面中文翻譯得不是很好:http://www.trirand.com/jqgridwiki /doku.php?id=wiki:jqgriddocs