jqGrid 4.13.6-pre - free jqGrid
formatieren Ich benutze navGrid und Inline-Bearbeitung und habe Probleme mit der Formatierung Validierung Nachrichten vom Server zurückgesendet. Die Validierungsnachrichten erscheinen ordnungsgemäß, wenn sie von einer Inline-Bearbeitung zurückkommen, aber sie sehen nicht gut aus, wenn auf das Formular zum Hinzufügen/Bearbeiten über die Grid-Navigation zugegriffen wird.JqGrid, wie kann ich Fehlermeldungen bei der Verwendung von navGrid
Ich lese viel über das errorTextFormat-Ereignis und es scheint genau das zu tun, was ich will, aber ich kann nicht herausfinden, wie man darauf zugreifen kann, wenn das Formular vom Grid-Nav geöffnet wird. Ich bin sicher, es gibt eine einfache Möglichkeit, es zu konfigurieren, aber ich konnte es nicht herausfinden.
$(function() {
var lastSel = 0;
$("#Grid")
.jqGrid({
url: '/url/to/griddata',
datatype: 'json',
mtype: 'POST',
colNames: ['Id', 'Name'],
colModel: [
{ name: 'Id', hidden: false, search: true, width: 150, align: 'center', sortable: true, editable: false, formatter: null, edittype: 'text' },
{ name: 'Name', hidden: false, search: true, width: 150, align: 'center', sortable: true, editable: true, formatter: null, edittype: 'text', editoptions: { maxlength: 256, value: null, required: true } }],
pager: '#GridPager',
prmNames: {
page: 'PageNumber',
rows: 'PageSize',
sort: 'SortColumn',
order: 'SortOrder',
search: 'Search',
nd: 'nd',
npage: 'null'
},
rowNum: 60,
rowList: [
15,
30,
60,
120
],
sortname: "Name",
sortorder: "asc",
viewrecords: true,
hidegrid: false,
gridview: true,
caption: '',
width: 980,
height: 100,
editurl: '/my/edit/url',
edit: {
errorTextFormat: function (data) {
alert('fired');
console.log(data);
return "error here";
}
},
jsonReader: {
total: 'TotalPages',
page: 'CurrentPage',
records: 'TotalRecords',
root: 'Rows',
id: 'Id',
repeatitems: false
},
onSelectRow: function(id) {
if (id && id !== lastSel) {
jQuery('#Grid').restoreRow(lastSel);
lastSel = id;
}
$('#Grid').jqGrid('editRow', id,
{
keys: true
});
}
});
$("#Grid").filterToolbar({ autosearch: true, searchOnEnter: false });
$("#Grid").navGrid('#GridPager', {
del: false, search: false, editerrorTextFormat: function (data) {
alert('fired');
console.log(data);
return "error here";
}
});
Hier ist das Markup.
, umfassen Codefragmente, die zeigt, wie Sie versucht, Formularbearbeitung und den Rückruf 'errorTextFormat' zu verwenden. Typischer Fehler: Der Callback wird an der falschen Stelle eingefügt. Sie sollten zusätzlich immer die Informationen über die Version und die Verzweigung von jqGrid angeben, die Sie verwenden (oder verwenden können). Es gibt zwei Hauptgabeln: [freies jqGrid] (https://github.com/free-jqgrid/jqGrid), kommerzielles [Guriddo jqGrid JS] (http://guriddo.net/?page_id=103334) und ein altes jqGrid in einer Version <= 4.7.Es gibt * verschiedene * Möglichkeiten, 'errorTextFormat' in jqGrid anzugeben. – Oleg
Wenn Sie nach Beispielen für die Verwendung 'errorTextFormat' suchen, finden Sie weitere Informationen [hier] (http://stackoverflow.com/a/6803206/315935) und [hier] (http://stackoverflow.com/a/14864422)/315935) zum Beispiel. Wenn dies nicht hilft, sollten Sie Ihre Frage mit JavaScript-Code und einem Beispiel für die Serverantwort, einschließlich des HTTP-Codes, der für die Rückgabe von Validierungsfehlern vom Server verwendet wird, anhängen. Die Antwort kann in den Entwickler-Tools von IE/Chrome/Firefox (Registerkarte "Netzwerk") oder in [Fiddler] (http://www.telerik.com/fiddler) angezeigt werden. – Oleg
Ich habe der Frage das Javascript/Markup hinzugefügt. – James