eine Frage für alle fortgeschrittenen in jqgrid.
Ich muss diesen Usecase codieren:
In jqGrid gibt es zwei bearbeitbare Spalten. Ich muss die Zelle bearbeiten. Der Benutzer klickt auf eine editierbare Zelle und wenn er die Taste Enter drückt, wähle ich die nächste editierbare Zelle UNTER DER aktuellen aus.
Anderenfalls, wenn er die Taste tab drückt, wähle ich die nächste bearbeitbare Zelle
zusammenfassend - ich brauche genaues Verhalten wie in Excel.
Wenn ich einen besseren Ruf hätte, hätte ich ein Bild hochladen können, um die gewünschte Situation zu demonstrieren.
vielen Dank.
Ahoj!
Um eine editierbare Zelle an Ihren benutzerdefinierten Event-Handler zu binden, gibt es eine gemeinsame Einstellung in jqGrid: dataEvents
-Eigenschaft von editoptions . Für die Suche in jqGrid existieren absolut dieselben Einstellungen . Sie finden einige Codebeispiele hier , hier und hier . Sie werden wahrscheinlich Zellbearbeitungsverfahren im Keyboard-Event-Handler verwenden müssen in der Lage sein, die Bearbeitung einer Zelle zu beenden und mit der Bearbeitung einer anderen Zelle zu beginnen.
Wenn Sie Probleme bei der Implementierung haben, können Sie Ihre Frage an das Codebeispiel anhängen und dann versuchen, es zu ändern.
Ihre Antwort hilft mir sehr und leitet mich zur richtigen Lösung, obwohl ich mehr als 3 Stunden verbrachte, um richtigen Code zu schreiben, aber ich schaffte das:)
vielen Dank.
fasst zusammen:
Ich habe 2 Variablen definiert:
%Vor%Ich setze sie in beforeEditCell Ereignisse:
%Vor%und dann in editoptions für beide editierbaren Zellen setze ich:
erste editierbare Zelle in Zeile ( Inventúrny stav im Bild), Verhalten auf der Registerkarte drücken, um die nächste editierbare Zelle auszuwählen, ist Standard
%Vor%zweite editierbare Zelle in Reihe (Sklad. cena auf dem Bild) - Ich setze iCol manuell für die nächste editierbare Zelle in der nächsten Zeile
%Vor%Ich weiß, dass dies ein altes Thema ist, aber ich habe kürzlich damit gerungen und dachte, ich würde den Ansatz teilen, der für mich funktioniert hat:
%Vor%Ich habe diesen Ansatz entwickelt, nachdem ich gelesen habe, wie die Funktion editCell von jqGrid mit Tabs umgeht und Tasten während eines Bearbeitungsvorgangs eingibt. jqGrids Keydown-Bindung sollte zuerst ausgelöst werden, gefolgt von dieser. Dieser Code sagt ihm einfach, dass er eine Bearbeitung in der nächsten Zeile beginnen soll, nachdem der ENTER-Handler von jqGrid verarbeitet wurde. Es funktioniert genau wie Tab jetzt, das Edit-Steuerelement bleibt geöffnet.
Ich konnte die editoptions: {dataEvents: ...} Struktur nie vollständig entschlüsseln, also könnte das ein besserer Ansatz sein. Wenn ja, können Sie gerne erklären, wie es überlegen ist.
Tags und Links jqgrid