Hinzufügen von jqGrid Benutzerdefinierte Navigation zum Oberen Symbolleiste
Ist es möglich, fügen Sie Navigations-Elemente, um die "top-pager" in einem jqGrid? Und wenn ja, wie ist die syntax dafür?
Habe ich einen HTML Code auf meine Seite, die sieht aus wie diese
<table id="mygrid">
</table>
<div id="mygrid_pager"></div>
Dann ein jqGrid Initialisierung, die etwa wie folgt aussieht
$('#mygrid').jqGrid({
..., //full config string removed for brevity,
pager:jQuery('#mygrid'),
toppager:true
});
$('#mygrid').jqGrid('navGrid', '#mygrid_pager'),{
'add':false,
'del':false,
'edit':false,
'search':false,
'refresh':false,
'cloneToTop':true,
}).navButtonAdd('',{...}); //config navbutton string for button removed for brevity
Einen "top-pager" mit der id #mygrid_toppager wird automatisch in die Seite eingefügt, aber dessen benutzerdefinierte buttons (die auf der Unterseite pager) nicht zusammen kommen für die Fahrt.
Ich sehen, dass es eine "cloneToTop" - option für die navGrid, aber seine Beschreibung verwirrend, und ich kann nur davon ausgehen, verwende ich es falsch.
Klone alle Aktionen, die von der Unterseite pager der pager Spitze
wenn Sie definiert ist. Beachten Sie, dass die navGrid angewendet werden können, um die oben
pager nur. Die id des top-pager ist eine Kombination aus Netz-id und
"_toppager"
Mein Verständnis von der option ist wird es dauern, Schaltflächen Hinzugefügt, um den Boden pager, und Klonen Sie Sie an die Spitze. Allerdings ist die Beschreibung geht dann auf zu sagen, "die navGrid angewendet werden können, um die top-pager nur, die macht keinen Sinn da Sie Sie Klonen. Der pont wird, habe ich deutlich über ein tiefes Missverständnis darüber, wie die API genutzt werden soll.
Ob jemand kann mich in die richtige Richtung (auch nur ein Beispiel irgendwo), ich würde es zu schätzen wissen. Ich würde es vorziehen, diese über die offiziellen APIs, im Gegensatz clever DOM-manipulation, wie man Sie anderswo auf StackOverflow.
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK, es scheint, dass ich einen Weg gefunden, die aussieht wie besser. Die Idee ist
navButtonAdd
mit der"#list_toppager_left"
statt"#pager"
.Modifizierte ich die alte Antwort so, dass eine benutzerdefinierte Schaltfläche Hinzugefügt werden, über die oben in der Navigations-Symbolleiste wird zusammen mit einer Schaltfläche "standard". Andere Elemente aus der oberen Navigationsleiste, Symbolleiste entfernt werden. Die Ergebnisse sieht
Finden Sie die entsprechenden demo-live -hier.
.ui-jqgrid .ui-jqgrid-pager .ui-pg-button
, aber die toppager hat Klasseui-jqgrid-toppager
und keineui-jqgrid-pager
wie der untere pager. So um das problem zu beheben sollte man hinzufügen, CSS -.ui-jqgrid .ui-jqgrid-pager .ui-pg-button { cursor: pointer }
. Es ist ein Fehler inui.jqgrid.css
.ui-jqgrid-toppager
statt.ui-jqgrid-pager
, richtig? - Also:.ui-jqgrid .ui-jqgrid-toppager .ui-pg-button { cursor: pointer }
. Danke!!editurl
Möglichkeit, jqGrid. Wenn Sie brauchen, um zu haben, verschiedenen URLs Hinzufügen und Bearbeiten-Formular des gleichen raster können Sie die URL, die überschreiben die optionediturl
. Es isturl
option, die aufgenommen werden können, da die Immobilieurl
des 3-TEN oder 4-TEN parameter von navGrid.navGrid
, was Sie erwarten (müssen), zu haben.clonetoTop
ist die MöglichkeitnavGrid
. Es werden nicht verwendet bzw. ignoriert, indemnavButtonAdd
. Wenn das raster mit zwei Pager, und Sie möchten fügen Sie es nur in einer pager-dann geben Sie die Bezeichnung der pager als parameter dernavButtonAdd
. Zum Beispielvar toppager = $("#grid").jqGrid("getGridParam", "toppager"); $("#grid").jqGrid("navButtonAdd", toppager, {...});
.