Я использую jqGrid для отображения данных, извлеченных из таблицы базы данных. Я использую диалог Добавить jqGrid для добавления новых записей. У меня возникли проблемы с принудительной перезагрузкой сетки из базы данных после добавления записи. После долгих поисков и опробований различных решений нашел здесь и другие места Я нашел способ заставить это работать. Я думал. Моя перезагрузка прекрасно работает в Firefox, но не совсем в Internet Explorer. У кого-нибудь есть мысли о том, почему или предложения?
Код ниже:
function reloadLOIs() {
if (reloadLOIGrid) {
$("#LOIEdit").trigger("reloadGrid");
reloadLOIGrid = false;
}
}
function getLOIs() {
var tid = document.getElementById("LOITopicFilter").value;
var sid = document.getElementById("LOISubTopicFilter").value;
if (tid == "" || sid == "") {
return false;
}
$.ajax({
url: "Restful.svc/GetLOIs",
data: { topicID: tid, subtopicID: sid },
dataType: "json",
type: "GET",
contentType: "application/json; charset=utf-8",
success: function (data, status, xHR) {
var thegrid = jQuery("#LOIEdit")[0];
thegrid.addJSONData(JSON.parse(data.d));
$("#LOIEdit").fluidGrid({ example: "#outerContainer3", offset: -10 });
},
complete: function (xHR, status) {
return true;
},
error: function (xHR, status, err) {
alert("ERROR: " + status + ", " + err);
}
});
}
function LoadLOIDataIntoGrid() {
var lastsel;
var tid = document.getElementById("LOITopicFilter").value;
var sid = document.getElementById("LOISubTopicFilter").value;
document.getElementById('ctl00_Body_hidTopicFilter').value = tid;
document.getElementById('ctl00_Body_hidSubtopicFilter').value = sid;
jQuery("#LOIEdit").jqGrid({
datatype: getLOIs,
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
height: '300px',
colNames: ['TopicID', 'SubTopicID', 'LOIID', 'LOI Number', 'Description', 'Reference', 'Inactive'],
colModel: [
{ name: 'TopicID', index: 'TopicID', hidden: true, width: 60, editable: true, editrules: { edithidden: false }, editoptions: { size: 10, defaultValue: tid} },
{ name: 'SubTopicID', index: 'SubTopicID', hidden: true, width: 60, editable: true, editrules: { edithidden: false }, editoptions: { size: 10, defaultValue: sid} },
{ name: 'LOIID', index: 'LOIID', hidden: true, width: 60, editable: true, key: true, editrules: { edithidden: false }, editoptions: { size: 10} },
{ name: 'LOIOrderNumber', index: 'LOIOrderNumber', width: 40, editable: false, editoptions: { size: 30} },
{ name: 'Description', index: 'Description', width: 250, editable: true, editoptions: { size: 250} },
{ name: 'Reference', index: 'Reference', width: 200, editable: true, edittype: "select", editoptions: { value: returnRefList()} },
{ name: 'Inactive', index: 'Inactive', width: 60, align: "center", editable: true, edittype: "checkbox", formatter: 'checkbox', formatoptions: { disabled: true} }
],
rowNum: 100,
rowList: [100, 200, 300],
pager: $('#LOINav'),
sortname: 'LOI Number',
viewrecords: true,
sortorder: "desc",
caption: "Lines of Inquiry",
editurl: "Restful.svc/SaveLOI",
onSelectRow: function (id) {
if (id && id !== lastsel) {
jQuery('#LOIEdit').jqGrid('saveRow', lastsel);
jQuery('#LOIEdit').jqGrid('editRow', id, true);
lastsel = id;
}
},
gridComplete: function () {
if (reloadLOIGrid) {
reloadLOIs();
}
},
ajaxGridOptions: { cache: false },
loadonce: false
}).navGrid('#LOINav', { edit: false, add: false, del: false, search: false });
}