Ich habe Probleme, einige Zellen (mit cellEdit: true) nicht editierbar zu machen, obwohl die Spalte editierbar ist.
Ich habe viele Möglichkeiten ausprobiert, wie vor EditCell, Formatierer usw. Keine scheint zu funktionieren.
Am ehesten habe ich einen Formatierer für die Spalte festgelegt, die ich bearbeiten möchte, und dann setCell, um die Klasse "nicht editierbare Zelle" (Ausschnitt unten) zu setzen. Wenn Sie zum ersten Mal auf die Zelle klicken, wird sie leider in den Bearbeitungsmodus versetzt. Wenn Sie jedoch an einer anderen Stelle klicken und versuchen, die Zelle erneut zu bearbeiten, kann sie erfolgreich bearbeitet werden.
Ich habe auch versucht, das selbe Snipped zu verwenden, aber innerhalb von beforeEditCell, stoppt es erfolgreich die Zelle von der Bearbeitung, aber wiederum "friert" das Gitter ein. Sie können keine andere Zelle mehr auswählen.
%Vor%Jede Hilfe wäre sehr willkommen.
Die Idee, die Methode setCell zu verwenden, um die Klasse 'nicht editierbare Zelle' hinzuzufügen 'zu den Zellen, die nicht editierbar sein sollten, ist richtig. Sie wählen nur den falschen Ort, um dies zu tun. Innerhalb des benutzerdefinierten Formatierungsprogramms kann das Raster bis zum Ende noch nicht erstellt werden. Ich empfehle Ihnen, loadComplete oder gridComplete , um das Grid der aktuellen Seite zu untersuchen und einige Zellen als nicht editierbar zu markieren.
>Ich habe ein Beispiel vorbereitet, das dies demonstriert. Wie in Ihrem Beispiel werden alle Zellen mit "Test" -Text als nicht editierbar markiert. Auf diese Weise können Sie eine Zelle untersuchen und eine andere als nicht editierbar markieren.
Ich musste das jetzt (2015) lösen und fand einen Ansatz, der sieht sauber aus : Geben Sie eine Funktion für cellbeginedit
an, die false
zurückgibt, wenn die Zelle nicht bearbeitet werden darf. Aus dem verlinkten Artikel genommen und modifiziert:
Tags und Links javascript jquery jqgrid