JqGrid 行为怪异。我只是创建了一些母版页,其中包含引用数据库中某个表的 jqGrid。
此页面运行良好,然后我需要使用相同的逻辑,并复制带有附加 php 文件的确切页面并创建一些调整,使其指向正确的表。
在我的母版页(部门页——这是第一页(100% 工作))中,jqgrid 函数工作正常,但是在基于第一页的第二页和第三页中,jqgrid 表现得很奇怪。
当我创建新值或更新某些值时,jqgrid 应该自动重新加载带有新数据的网格。但就我而言,网格重新加载数据但根本不写入。
这种奇怪的行为不会发生在我的第一个 jQGrid 页面(部门页面)中。
我还插入了一些屏幕截图以使其更清晰
然后简单地将值添加到网格中,参考一些 php 文件。该值被执行,然后存储在数据库中。此方法使用 POST 方法。
然后 jQgrid 会自动从数据库中获取新数据,并且应该在 GRID 上写入。但在我的案例中,网格没有写入数据。
如您在屏幕截图的右下角看到的,有 11 个值,从第一个屏幕截图开始,只有 10 个值。所以,网格实际上执行了 INSERT 语句,但是当它重新加载时,它就坏了。
有没有可能克服这个问题?谢谢你。
编辑:HTML代码:
<table id="location"><tr><td /></tr></table>
<div id="pager-location"></div>
JavaScript 代码:
$(document).ready(function() {
//alert("start");
jQuery("#location").jqGrid({
mtype:'GET',
url:'functions/get_location.php',
editurl:'functions/edit_location.php',
datatype: "JSON",
colNames:['Location ID','Location'],
colModel:[
{name:'idms_location',index:'idms_location', width:150, editable:true,add:true, del:true, key:true},
{name:'location',index:'location', width:800,editable:true, add:true, del:true}
],
loadComplete: function () {
alert("OK");
},
loadError: function (jqXHR, textStatus, errorThrown) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'textStatus: ' + textStatus + '\n' +
'errorThrown: ' + errorThrown);
alert('HTTP message body (jqXHR.responseText): ' + '\n' + jqXHR.responseText);
},
rowNum:10,
rowList:[5,10,15],
pager: '#pager-location',
sortname: 'idms_location',
viewrecords: true,
jsonReader: {repeatitems: true, idms_location: "idms_location" },
sortorder: "asc",
caption:"MSC Locations"
});
jQuery("#location").jqGrid('navGrid','#pager-location',{edit:true,add:true,del:true},{},{},{},{closeAfterSearch:true},{});
jQuery("#location").jqGrid('gridResize',{minWidth:350,maxWidth:850,minHeight:80, maxHeight:350});
//alert("end");
});