Javascript JqGrid don';我在点击按钮后重新加载
我在我的项目中与jqGrid合作,我有一个问题,即使在阅读了关于同一主题的论坛之后,似乎也无法解决 当用户选择日期后单击按钮时,我会重新加载网格。我想让数据充值对应程序选择日期 我使用以下代码:Javascript JqGrid don';我在点击按钮后重新加载,javascript,jquery,jqgrid,reload,Javascript,Jquery,Jqgrid,Reload,我在我的项目中与jqGrid合作,我有一个问题,即使在阅读了关于同一主题的论坛之后,似乎也无法解决 当用户选择日期后单击按钮时,我会重新加载网格。我想让数据充值对应程序选择日期 我使用以下代码: var loadfacture = false; $('#btn-facture').click(function(){ if(!loadfacture){ $("#factures").jqGrid({
var loadfacture = false;
$('#btn-facture').click(function(){
if(!loadfacture){
$("#factures").jqGrid({
url:'loadfactureencours.json',
datatype: "json",
autowidth: true,
height:250,
colNames:['#','Numero','Date', 'Client','Serveur','Prix Total','Avance','Regler','Notes'],
colModel:[
{name:'idfac',index:'idfac', width:45,align:"center"},
{name:'numfac',index:'numfac', width:80,align:"center"},
{name:'datefac',index:'datefac', width:150,align:"center"},
{name:'client',index:'client', width:145,align:"center"},
{name:'utilisateur',index:'utilisateur', width:125,align:"center"},
{name:'montant',index:'montant', width:70,align:"center"},
{name:'avance',index:'avance', width:60,align:"center"},
{name:'regler',index:'regler', width:50,align:"center"},
{name:'description',index:'description', width:150, sortable:false}
],
rowNum:10,
rowTotal: 2000,
rowList : [10,20,30,40,50,60],
loadonce:true,
mtype: "GET",
postData: {
day: function () {
return $('#daySelect').val();
}
},
rownumbers: false,
rownumWidth: 40,
gridview: true,
pager: '#paging',
sortname: 'idfac',
viewrecords: true,
sortorder: "desc",
caption: "",
ondblClickRow: function(rowid,iRow,iCol,e){
var rowData = jQuery(this).getRowData(rowid);
console.log(rowData);
window.location = "ecrancommandebar.html?num="+rowData.numfac;
}
});
$("#factures").jqGrid('navGrid','#paging',{del:false,add:false,edit:false});
loadfacture = true;
}else{
var grid = $("#factures");
grid.trigger("reloadGrid",[{current:true}]);
}
});
我通过阅读论坛上关于同一主题的文章构建了这段代码,但是当我在更改日期后单击按钮时,网格第一次加载,什么也没有发生
你怎么了?感谢您的反馈。您可以尝试以下方法:
}else{
var grid = $("#factures");
$.ajax({
url: "loadfactureencours.json",
dataType: "json",
success: function(data){
grid.trigger("reloadGrid",[{current:true}]);
},
error: function(){}
});
}
您可以尝试以下方法:
}else{
var grid = $("#factures");
$.ajax({
url: "loadfactureencours.json",
dataType: "json",
success: function(data){
grid.trigger("reloadGrid",[{current:true}]);
},
error: function(){}
});
}
您可以使用
loadonce:true
选项,在首次从服务器加载数据后,将数据类型从初始的“json”
更改为“local”
。它允许支持数据的本地排序、分页和过滤。所以您应该理解grid.trigger(“reloadGrid”,[{current:true}])代码>将仅重新加载先前保存的响应中的数据。因此,在将datatype
参数的值重置为“json”
之前,不会从服务器重新加载。换句话说,您应该将else
部分改写为关于以下内容
...
} else {
$("#factures").jqGrid("setGridParam", {datatype: "json"})
.trigger("reloadGrid", [{current: true, page: 1}]);
}
您可以使用loadonce:true
选项,在首次从服务器加载数据后,将数据类型从初始的“json”
更改为“local”
。它允许支持数据的本地排序、分页和过滤。所以您应该理解grid.trigger(“reloadGrid”,[{current:true}])代码>将仅重新加载先前保存的响应中的数据。因此,在将datatype
参数的值重置为“json”
之前,不会从服务器重新加载。换句话说,您应该将else
部分改写为关于以下内容
...
} else {
$("#factures").jqGrid("setGridParam", {datatype: "json"})
.trigger("reloadGrid", [{current: true, page: 1}]);
}