jqGrid neu Positionieren, Löschen, Dialogfeld zur Bestätigung
Ich bin derzeit mit jqGrid mit der navGrid, del auf true gesetzt. Problem ist, wenn ein Benutzer klickt auf löschen, es erscheint ein Bestätigungs-Feld in der oberen linken Seite des Gitters. Da sind wir auch schon nach unten gescrollt hat, um die ganz unten, die ich haben eine große Höhe, der Benutzer hat sich auf den Weg an die Spitze zu bestätigen. Gibt es eine Möglichkeit, die position dieser? Eine manuelle offset ist ganz gut, aber im Idealfall will ich dock Sie an die untere linke Seite, die als adaptiert nach Links oben.
Vielen Dank im Voraus
(Wenn dies ein dupe tut mir Leid. Ich habe versucht, einfach nur posten, aber es gab mir einige seltsame Fehler und zeigt nicht in meine Geschichte so ausgegangen das es nicht posten.)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finde ich ist kein dupe. Auf der gegenüberliegenden finde ich es gut, also +1 von mir.
Den jqGrid verwenden intern die Methode
viewModal
($.jgrid.viewModal
), die zeigt, das die meisten Dialoge. Die Methode hattoTop
parameter, aber und delGridRow und editGridRow somit nicht verwenden, und es wird festgelegt, umtoTop:true
. Also das Hinzufügen, Bearbeiten und Löschen von Dialogen wird immer angezeigt an der Spitze des Rasters, die können sich innerhalb von inviable Bereich.Problem zu beheben, definieren Sie die afterShowForm Ereignis-handle, das ändern der dialog-position. Zum Beispiel
Im Beispiel wird das Fenster gelegt, das über der ausgewählten Zeile. Kann der code verbessert werden, für den Fall, wenn die ausgewählte Zeile in der letzten Zeile und dem unteren Teil des Fensters außerhalb des Fensters. Dennoch ist die obige Umsetzung scheint mir besser als der Standard, weil der Benutzer den dialog exakt auf die Zeile, die er löschen möchten, und er kann verschieben Sie das Dialogfeld, so dass es voll sein wird sichtbar.
Können Sie testen, die vorgeschlagene Bewegung der Löschen-dialog auf die live-demo.
afterShowForm
aus meiner Antwort dann die Entf-dialog wird angezeigt, oben auf dem Gitter anstelle der unter der ausgewählten Zeile.Fand etwas besser hier !
fügen Sie diese in Ihre javascript-Bibliothek :
Nun müssen Sie nur fügen Sie diese in die afterShowForm Eigenschaft :
form.closest('div.ui-jqdialog') => ermöglicht es Ihnen, sich der modal-popup-Fenster, keine Notwendigkeit, genau, wenn es ein editForm oder ein löschen des Formulars.
Diesen code statt dem popup in der Mitte des Bildschirms, so dass Sie nicht scrollen müssen, wenn Sie eine wirklich große raster.