0
我對jqGrid相當新,這似乎是一個偉大的事情。有很多很棒的文檔。 我在編輯時遇到了困難。我有一個有多行的網格,除了第一行外,我無法編輯所有的行,當行ID是0時,方法'editGridRow'有問題。當行ID是其他時,它可以工作精細。其他方法,如'getCell'工作正常,即使當行id = 0時也是如此。editGridRow方法工作正常,除了當RowId是0. jqGrid
我該如何解決這個問題?
感謝您的幫助。
$("#grid").jqGrid({
altRows: true,
datatype: 'local',
direction: 'rtl',
height: '100%',
mtype: 'POST',
hidegrid: false,
colNames: ['מספר הקלסר', 'שם השולח', 'מעגל', 'נושא ראשי', 'הגוף המשלם', 'מספר ארגז', 'תאריך שליחה', 'תאריך התחלה', 'תאריך סיום', 'תאריך גריסה', ''],
colModel: [
{ name: 'idFolders', index: 'idFolders', align: 'center', sorttype: 'int' },
{ name: 'SenderName', index: 'SenderName', align: 'center', editable: true },
{ name: 'Maagal', index: 'Maagal', align: 'center', editable: true },
{ name: 'MainSubject', index: 'MainSubject', align: 'center', editable: true },
{ name: 'PayerName', index: 'PayerName', align: 'center', editable: true },
{ name: 'BoxNumber', index: 'BoxNumber', align: 'center', sorttype: 'int', editable: true },
{ name: 'SentDate', index: 'SentDate', align: 'center', sorttype: 'date', datefmt: 'd,m,y', editable: true },
{ name: 'FolderStartDate', index: 'FolderStartDate', align: 'center', sorttype: 'date', datefmt: 'd,m,y', editable: true },
{ name: 'FolderEndDate', index: 'FolderEndDate', align: 'center', sorttype: 'date', datefmt: 'd,m,y', editable: true },
{ name: 'TrashDate', index: 'TrashDate', align: 'center', sorttype: 'date', datefmt: 'd,m,y', editable: true },
//A column for Buttons - edit, delete, with custom Formatter - "formattEdit"
{name: 'myac', align: 'right', sortable: false, resize: false, formatter: formattEdit }
],
pager: '#pager',
rowNum: 10,
rowList: [10, 20, 30, 40, 50, 100],
sortname: 'idFolders',
sortorder: 'asc',
viewrecords: true,
gridview: true,
caption: 'תוצאות החיפוש',
editurl: 'SearchWebService.asmx/editFoldersTable',
.......
主電網
//formattEdit, creating 2 buttons - Del, Editform.
function formattEdit(cellvalue, options, rowObject) {
var del, edit, HoverString, htmlString = "";
var rowid = options.rowId;
//Creating the Commands in a Long String
//Edit
edit = "onclick=$('#grid').jqGrid('editGridRow'," + rowid + ",{editData:{idFolders:$('#grid').jqGrid('getCell'," + rowid + ",'idFolders')}});";
HoverString = " onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover');"
edit = edit + HoverString;
htmlString = htmlString + "<div title='" + $.jgrid.nav.edittitle + "' style='float:right;cursor:pointer;' class='ui-pg-div ui-inline-edit' " + edit + "><span class='ui-icon ui-icon-pencil'></span></div>";
//Delete
del = "onclick=alert('Deleteing');";
del = del + HoverString;
htmlString = htmlString + "<div title='" + $.jgrid.nav.deltitle + "' style='float:right;margin-right:5px;' class='ui-pg-div ui-inline-del' " + del + "><span class='ui-icon ui-icon-trash'></span></div>";
//Adding it as Html
return "<div style='align:center;'>" + htmlString + "</div>";
}
我的自定義格式化 - 在有呼叫的 'editGridRow' 方法
//Search Button - Ajax Call
$("#searchBtn").click(function() {
if ($("#searchBox").val() == "") {
alert("נא הקלד חיפוש");
}
else {
var grid = $("#grid")
grid.jqGrid("clearGridData", true).trigger("reloadGrid");
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: 'SearchWebService.asmx/getTablejQgrid',
data: CreateSearchString(),
dataType: "json",
success: function (data, textStatus) {
if (textStatus == "success") {
var recivedData = JSON.parse(data.d);
$.each(recivedData.rows, function (key, value) {
grid.jqGrid('addRowData', key, value);
});
grid.trigger('reloadGrid');
}
},
error: function (data, textStatus) {
alert('An error has occured retrieving data!');
}
});
}
});
AJAX調用,以填補電網
這也是我在Stack Overflow上的第一篇文章。希望我心中已經做了正確的方式