Wie können Sie ein Raster erstellen, aber keine Daten laden? Wenn ich die Option url
weglasse, wird der Rückruf loadError
ausgelöst.jqGrid - Wie wird das Grid so eingestellt, dass Daten zunächst NICHT geladen werden?
Derzeit setzen wir url:NoData.json
, wobei NoData.json eine statische Datei ohne Zeilen darin ist.
Problem ist in unserem loadComplete
Rückruf wir möchten dipslay eine Nachricht, wenn das Raster keine Daten enthält - außer wir wollen diese Nachricht nicht beim ersten Laden angezeigt werden. Derzeit behandeln wir dies wie folgt:
//jqGrid load complete handler
function loadComp(grid) {
if (grid.getGridParam("url") != "NoData.json" && grid.getGridParam("records") == 0) {
setStatus("Your search did not return any results");
}
}
Dies scheint nur ein wenig hacky .. möchten nur haben das Raster nicht zunächst alle Daten geladen werden.
Irgendwelche Ideen?
Versucht, dass - Problem ist mit 'Datatype: local' und keine' URL', meine 'loadComplete' Callback wird immer noch aufgerufen. Ich hatte auf einen Ansatz gehofft, der den Callback nicht auslösen würde - oder zumindest einen saubereren Weg im Callback, um zu bestimmen, dass dies der Anfangszeitpunkt des Gitters ist. –
@Marcus: Natürlich wird das 'loadComplete' Event Handle in allen Situationen aufgerufen. Wenn Sie eine Nachricht nur beim Laden vom Server anzeigen möchten, können Sie die Nachricht nur anzeigen, wenn 'datatype' gleich" json "ist, wie in http://stackoverflow.com/questions/3564898/jqgrid-programatically-select -grid-row/3571392 # 3571392 – Oleg
Die 'grid.getGridParam ('datatype') ===" json "' Lösung funktionierte gut .. –