Ich habe ein jQGrid mit einer Spalte, die nur beim Hinzufügen einer neuen Zeile editierbar sein soll.
Ich habe Beispiele dafür gesehen, wie das gemacht wird, wenn Änderungen und Ergänzungen in einem Dialog stattfinden, aber gibt es eine Möglichkeit, dies mit der Inline-Bearbeitung zu tun?
Ich habe versucht, grid.setColProp () in beforeShowForm: zu verwenden, aber dies funktioniert nicht (die Spalte bleibt schreibgeschützt und ist im Dialogfeld zum Hinzufügen nicht vorhanden).
Beispiel für dialogbasierte Spalten aktivieren / deaktivieren:
Ссылка
Weil Sie das Beispiel aus meinen alten Antworten verwenden ( und dies ) Ich fühle, dass ich auch auf Ihre Frage antworten sollte.
Im alten Beispiel sind alle Felder, die während der Hinzufügen- oder Bearbeiten-Dialoge geändert werden können, Hat die Eigenschaft editable:true
. Die Felder, die nur im Add-Dialog angezeigt werden sollen, werden innerhalb von beforeShowForm Ereignishandle. Auf die gleiche Weise können wir temporär einige Felder vor dem Aufruf der editRow-Methode auf editable:false
setzen und unmittelbar nach dem Aufruf wieder auf editable:true
zurücksetzen:
Sie können dies live hier sehen.
UPDATE: Free jqGrid ermöglicht die Definition von editable
als Callback-Funktion. Siehe im Wiki-Artikel . Es ermöglicht, die Spalte in einigen Zeilen editierbar zu machen und nicht editierbar für andere Zeilen.
Tags und Links javascript jquery editing jqgrid