Wie autoload in jqGrid zu deaktivieren und Daten manuell zu laden, wenn ich es brauche?Wie autoload in jqGrid deaktivieren?
Danke.
Wie autoload in jqGrid zu deaktivieren und Daten manuell zu laden, wenn ich es brauche?Wie autoload in jqGrid deaktivieren?
Danke.
Wenn Sie datatype
auf 'local'
setzen, werden die Daten vom Server nicht geladen. Um das Laden von Daten zu erzwingen, können Sie datatype
zu 'json'
oder 'xml'
in Bezug auf setGridParam
Methode ändern (siehe http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options und http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods#grid_related_methods) und rufen Sie dann trigger("reloadGrid")
Methode.
Siehe jqGrid is not loading data, die auch die Informationen, was Sie gefragt haben.
Legen Sie einfach nicht die Standard-URL in der Tabelle fest. Und installieren Sie es nur, wenn Sie Daten laden müssen (zum Beispiel per Knopfdruck) und dann .trigger("reloadGrid")
.
Beispiel für Sie:
jQuery("#grid").jqGrid(
{
//Simply comment out the URL
//url :"salepointsprovider.php",
datatype:"json",
colModel :[
{name:'SalePointId', index:'SalePointId'},
{name:'Name', index:'Name'}
]
}
$('#ShowRecordsButton').click(function() {
jQuery("#grid").jqGrid('setGridParam',
{url:"salepointprovider.php?SalePointId=" + argSalePointId, page:1});
jQuery("#grid").trigger('reloadGrid');
}
Mein Gitter ohne URL-Anforderungen an den Server senden:
.../_ search = false & nd = 1370817124473 & rows = 20 & page = 1 & Sidx = & sord = asc
Set Datentyp: "local" lösen Problem. Reload Raster von
`function reloadGrid(gridId, gridData){ $(gridId).jqGrid('clearGridData'); // need for nonempty grig (see http://www.trirand.com/blog/?page_id=393/help/triggerreloadgrid-not-work/) $(gridId).jqGrid('setGridParam', {data: gridData}).trigger('reloadGrid'); } `
Keine Notwendigkeit, Datentyp zu ändern (zumindest für meinen Json Fall erkannt wird)
In treegrid kann man nicht Datentyp verwenden = 'local'. Also statt 'local', setze ich den Datentyp = 'jsonstring', leere leere Daten und jsonReader definieren. jsonReader sollte entsprechend Ihren abgerufenen Daten korrekt definiert sein. Danke für Olegs answer. Und wenn ich Daten laden muss, ändere ich einfach den Datentyp in 'json'.
var fakeData ={
rows: []
};
...
datatype: 'jsonstring',
datastr: fakeData,
...
jsonReader: {
repeatitems: false,
root: function (obj) { return obj.rows; },
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.length; }
}
Dies ist keine Antwort auf Frage. –
+1 Umdrehen der Datentyp funktionierte perfekt. Vielen Dank! – ongle