Ich habe eine harte Zeit, Fußzeileninformationen mit jqGrid anzuzeigen. Ich habe alle notwendigen Schritte zur Einrichtung der Fußzeile ausgeführt. Die Serveranfrage basiert auf einer Filterbedingung. Der Server gibt einen JSON mit entsprechenden "userdata" Informationen zurück. Im Folgenden finden Sie die JSON- und JavaScript-Informationen.Nicht möglich, JqGrid Fußzeile mit Userdateninformationen zu füllen
{
"timeatt": [
{
"empnum" : "12345",
"name" : "ABCDEFG",
"shift" : "1",
"postdate" : "12/27/10",
"regular" : "40",
"ot" : "8",
"dbltime" : "0",
"holiday" : "0",
"vacation" : "0",
"payrate" : "0"
},
{
"empnum" : "67890",
"name" : "HIJKLMN",
"shift" : "1",
"postdate" : "12/27/10",
"regular" : "32",
"ot" : "0",
"dbltime" : "0",
"holiday" : "0",
"vacation" : "8",
"payrate" : "0"
}
],
"userdata": {
"name": "Totals",
"regular": "72",
"ot": "8",
"dbltime": "0",
"vacation": "8",
"holiday": "0"
},
"totalrecords" : "2"
}
jqGrid Informationen
$("#empinfo").jqGrid({
datatype:'json',
colNames:['Clock#','Name','PostDate','Shift','Regular','Over Time','Dbl Time',
'Vacation','Holiday'],
colModel:[{name:'empnum', index:'empNum', width:60},
{name:'name', index:'name', width:200},
{name:'postdate', index:'postdate', width:60,editable:false,
hidden:true,editrules:{edithidden:false}},
{name:'shift', index:'shift', width:60,editable:true,edittype:'text'},
{name:'regular', index:'regular', width:70,editable:true,
edittype:'text',align:"right", formatter: 'number'},
{name:'ot', index:'ot', width:70,editable:true,edittype:'text',
align:"right", formatter: 'number'},
{name:'dbltime', index:'dltime', width:70,editable:true,
edittype:'text',align:"right", formatter: 'number'},
{name:'vacation', index:'vacation', width:70,editable:true,
edittype:'text',align:"right", formatter: 'number'},
{name:'holiday', index:'holiday', width:70,editable:true,
edittype:'text',align:"right", formatter: 'number'}],
scroll:1,
scrollRows:true,
height:300,
editurl:'clientArray',
footerrow:true,
userDataOnFooter:true,
altRows:true,
onSelectRow: function(rowNum){
if (rowNum && rowNum != lastSel) {
$("#empinfo").saveRow(lastSel);
}
$("#empinfo").editRow(rowNum,true);
lastSel = rowNum;
},
});
ich alles in der jqGrid Demo aufgeführt versucht, aber für somereason, der "userdata" -Informationen nicht ausgefüllt zu werden. Kann mir jemand helfen ?
Dank SMargabandhu
Sie Oleg danken. Deine Lösung hat funktioniert. Ich war mir nicht sicher über JsonReader. Ich bin nur ein Anfänger und experimentierte mit jedem Attribut. Aber vielen Dank für den Hinweis auf meinen Fehler. – Shanker
Hallo Oleg, deine Lösung hat funktioniert, als ich das URL-Attribut angegeben habe. Aber in meinem Fall ist die URL leer, da ich eine Filterbedingung habe und basierend darauf führe ich eine Funktion aus, die einen Server aufruft, um die erforderlichen JSON-Daten zu erhalten. Ist es möglich, die Fußzeile festzulegen, nachdem ich das jqGrid (addRowData) bevölkert habe? – Shanker
@Shanker: Versuchen Sie 'footerData' Methode zu verwenden: $ (" list "). JqGrid (" footerData "," set ", myUserData, true); – Oleg