jQGrid, wie man eine Spalte Bearbeiten im Dialogfeld "hinzufügen", aber nicht bei der (inline -) bearbeitet
Habe ich ein jQGrid mit einer Spalte, ich will nur bearbeitet werden, wenn das hinzufügen einer neuen Zeile.
Habe ich schon Beispiele gesehen, wie das zu tun ist, wenn änderungen und fügt sich beides geschieht in einem dialog, aber gibt es eine Möglichkeit, dies zu tun mit in-line-Bearbeitung?
Ich habe versucht, mit raster.setColProp() in beforeShowForm:, aber das funktioniert nicht ( bleibt die Spalte nur Lesen und nicht im hinzufügen-dialog).
Beispiel der dialog-Spalte aktivieren/deaktivieren:
http://www.ok-soft-gmbh.com/jqGrid/CustomFormEdit.htm
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil Sie das Beispiel aus meiner alten Antworten (diese und diese -) ich glaube, ich sollte die Antwort auch auf Ihre Frage.
In der altes Beispiel alle Felder, die geändert werden kann, während das Hinzufügen oder Bearbeiten von Dialogen, hat die Eigenschaft
editable:true
. Die Felder, die dargestellt werden sollen, nur im Add-dialog gemacht werden, versteckt in beforeShowForm Ereignis-handle. In der gleichen Weise können wir temporäre wechseln einige Feldereditable:false
bevor der Anruf von der editRow Methode und reset-zurück zu deneditable:true
unmittelbar nach dem Aufruf:Können Sie sehen, dieses Leben hier.
UPDATE: Kostenlose jqGrid erlaubt das definieren
editable
als callback-Funktion. Sehen der wiki-Artikel. Es erlaubt, die Spalte bearbeitbar in einigen Zeilen und halten nicht bearbeitbar für andere Zeilen.editable
verwendet werdeneditRow
. Also, wenn Sie ändern Sie gemeinsamen - Eigenschafteditable
vor jedem Aufruf voneditRow
wie ich gezeigt, dann Sie tun können, machen nicht-editierbare ausgewählten Zeilen nur.