Dropdown-Menü in Kendogrid versteckt

8

In meinem Kendogrid muss ich ein Dropdown-Menü (beim Klicken auf die Schaltfläche) und Spaltengröße anpassen anzeigen, wenn eine Bildlaufleiste angezeigt wird Daten sind zu groß für das Raster. Ich habe Probleme mit Überlaufeinstellungen.

Live-Beispiel Ссылка

Wenn ich overflow-y: scroll in meinem Raster einstelle, ist das Dropdown-Menü nicht immer sichtbar.

Wenn ich andererseits overflow-y: visible einstelle, sehe ich auf der rechten Seite überlaufende Zeilen.

Ich habe alles versucht, jede mögliche Überlauf-Kombination, ich ändere die Z-Indizes und zeige das gelbe div über meine überschüssigen Zeilendaten. Nichts hat funktioniert.

Ich habe auch versucht, das Dropdown-Menü in position: fixed zu ändern, aber es gibt Probleme, wenn Sie aus irgendeinem Grund im Fenster scrollen (weil dann das Menü nicht direkt unter der Schaltfläche angezeigt wird)

zB: Feste Positionierung des Menüs

Browser: Chrome / Firefox (ff benötigt mehr Größenanpassung, um den gleichen Effekt zu erzielen)

Twitter-Bootstrap: 2.3.2

    
Vland 14.12.2014, 21:04
quelle

2 Antworten

1

Ich habe viele verschiedene Lösungen ausprobiert, aber am Ende entschied ich mich, ein context-menu plugin Bootstrap-Thema zu verwenden, das an meinen Button-Klick gebunden ist. Ich werde einen Beispielcode posten, in der Hoffnung, dass er für andere in der gleichen Situation nützlich sein wird.

Dies ist das Kontextmenü-Plugin, das ich verwende: Ссылка

Es beinhaltet ein bisschen Programmierung und ein Plugin, aber ich finde, dass das Ergebnis wirklich hervorragend für meine (visuellen) Bedürfnisse ist.

Hier ist das jsBin

    
Vland 02.01.2015, 19:08
quelle
7

In der Vergangenheit habe ich das auch in der Vergangenheit mit einem etwas anderen Szenario erlebt. Die eigenen Datenvalidierungsmeldungen von Kendo Grid würden bei der Validierung der letzten Zeile ausgeblendet.

Es scheint keinen richtigen Weg zu geben, das zu beheben, ohne dass die Dinge unordentlich werden, aber wenn Sie mit diesem Hack einverstanden sind, können Sie diesen Code verwenden.

%Vor%

Ich scrolle einfach nur nach unten, wenn ich auf eine der benutzerdefinierten Rasterschaltflächen klicke.

  • 500 ist eine willkürliche Höhe, die größer ist als das Kendo-Grid-Inhalts-Div und die Dropdown-Höhe kombiniert.
  • setTimeout dient zum Ausführen des Scrollens, nachdem die Bildlaufleiste erstellt wurde.

Wenn das Dropdown-Menü nicht zum Erstellen einer Bildlaufleiste führt, bedeutet dies, dass kein Dropdown-Menü ausgeblendet ist, und scrollTop tut nichts, weil es keine Bildlaufleiste gibt. Wenn ein Dropdown-Menü die Erstellung einer Bildlaufleiste auslöst, bedeutet dies, dass es ausgeblendet ist und es in Ordnung ist, bis zum Ende zu scrollen.

Ihr aktualisierter jsBin ...

    
gitsitgo 02.01.2015 16:16
quelle