Javascript 如何自动刷新jqgrid?
我使用以下脚本将sql数据库中的详细信息绑定到jqgrid。添加、编辑、删除操作正常,我的问题是,如果我尝试添加、编辑,删除jqgrid中的数据在我刷新页面后,它已在数据库中更新,但未显示在jqgrid中,然后数据显示在jqgrid中。单击提交按钮后,如何自动刷新jqgrid?Javascript 如何自动刷新jqgrid?,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我使用以下脚本将sql数据库中的详细信息绑定到jqgrid。添加、编辑、删除操作正常,我的问题是,如果我尝试添加、编辑,删除jqgrid中的数据在我刷新页面后,它已在数据库中更新,但未显示在jqgrid中,然后数据显示在jqgrid中。单击提交按钮后,如何自动刷新jqgrid? <script type="text/javascript"> $(document).ready(function(){ var mydata=new A
<script type="text/javascript">
$(document).ready(function(){
var mydata=new Array();
$.extend({
getValues: function(url) {
var result = null;
$.ajax({
url: url,
type: 'POST',
data:'Param=value',
async:false,
success: function(data) {
result=JSON.parse(data);
}
});
return result;
}
});
mydata = $.getValues(Some url);//get the data from the url
$("#datagrid").jqGrid({
datatype: "local",
data: mydata,
colNames:['companyid','company', 'price', 'Change','perchange','LastUpdated'],
colModel:[
{name:'companyid',index:'companyid', width:100,editable:true,editoptions:{size:10}},
{name:'company',index:'company', width:100,editable:true},
{name:'price',index:'price', width:100,editable:true,editoptions:{size:10}},
{name:'Change',index:'Change', width:100,editable:true,editoptions:{size:25}},
{name:'perchange',index:'perchange', width:100, align:"right",editable:true,editoptions:{size:10}},
{name:'LastUpdated',index:'LastUpdated', width:200, align:"right",editable:true,editoptions:{size:10}}
],
rowNum:10,
rowList:[10,20],
loadonce: true,
pager: '#navGrid',
sortname: 'companyid',
sortorder: "asc",
height: 210,
width:600,
onSelectRow: function(id){
getID = jQuery("#datagrid").jqGrid('getCell', id, 'companyid')
},
viewrecords: true,
caption:"JQ GRID"
});
jQuery("#datagrid").jqGrid('navGrid','#navGrid',{edit:true,add:true,del:true, addtext: 'Add', edittext: 'Edit', deltext: 'Delete'},
//For Edit
{
closeOnEscape: true,
closeAfterEdit: true,
reloadAfterSubmit:true,
closeOnEscape: true,
url:'Some url'
},
// For Add
{
closeOnEscape: true,
closeAfterAdd: true,
reloadAfterSubmit: true,
closeOnEscape: true,
url: 'Some url'
},
// For Delete
{
url:'Some url',
closeAfterDelete: true,
reloadAfterSubmit: true,
closeOnEscape: true,
onclickSubmit: function(e, postdata)
{
e.url = 'Some url'
}
}
);
});
</script>
$(文档).ready(函数(){
var mydata=新数组();
$扩展({
getValues:函数(url){
var结果=null;
$.ajax({
url:url,
键入:“POST”,
数据:'Param=value',
async:false,
成功:功能(数据){
result=JSON.parse(数据);
}
});
返回结果;
}
});
mydata=$.getValues(某些url);//从url获取数据
$(“#数据网格”).jqGrid({
数据类型:“本地”,
数据:mydata,
colNames:['companyid'、'company'、'price'、'Change'、'perchange'、'LastUpdated'],
colModel:[
{名称:'companyid',索引:'companyid',宽度:100,可编辑:true,可编辑选项:{size:10},
{名称:'company',索引:'company',宽度:100,可编辑:true},
{名称:'price',索引:'price',宽度:100,可编辑:true,可编辑选项:{size:10},
{名称:'Change',索引:'Change',宽度:100,可编辑:true,可编辑选项:{size:25},
{名称:'perchange',索引:'perchange',宽度:100,对齐:“右”,可编辑:true,编辑选项:{size:10},
{名称:'LastUpdated',索引:'LastUpdated',宽度:200,对齐:“右”,可编辑:true,编辑选项:{size:10}}
],
rowNum:10,
行列表:[10,20],
有一次:是的,
寻呼机:“#导航网格”,
sortname:“公司ID”,
分拣员:“asc”,
身高:210,
宽度:600,
OnSetrow:功能(id){
getID=jQuery(“#datagrid”).jqGrid('getCell',id,'companyid'))
},
viewrecords:是的,
描述:“JQ网格”
});
jQuery(“#datagrid”).jqGrid('navGrid','#navGrid',{edit:true,add:true,del:true,addtext:'add',edittext:'edit',deltext:'Delete'},
//编辑
{
closeOnEscape:没错,
closeAfterEdit:true,
reloadAfterSubmit:对,
closeOnEscape:没错,
url:“某个url”
},
//添加
{
closeOnEscape:没错,
closeAfterAdd:true,
reloadAfterSubmit:对,
closeOnEscape:没错,
url:“某个url”
},
//删除
{
url:“某个url”,
closeAfterDelete:true,
reloadAfterSubmit:对,
closeOnEscape:没错,
onclickSubmit:函数(e,postdata)
{
e、 url='某个url'
}
}
);
});
您需要触发重新加载网格
:-
$("#datagrid").trigger("reloadGrid");
您需要触发重新加载网格:-
$("#datagrid").trigger("reloadGrid");
使用reloadGrid是上帝,但当reloadAfterSubmit存在时,您会在开发工具的控制台中得到任何错误吗?reloadAfterSubmit对我来说在同样的场景下也很好。使用reloadGrid是上帝,但当reloadAfterSubmit存在时,你会在开发者工具的控制台中得到任何错误吗?对于相同的场景,reloadAfterSubmit对我来说很好。