Wie wird das Aktionsspaltenelement für eine einzelne Zeile deaktiviert?

8

Betrachten Sie dieses JSON-Beispiel:

%Vor%

Diese Datensätze werden in einem Geschäft geladen und dann in einem Gitterfeld angezeigt. Dieses Raster enthält eine Aktionsspalte für Editierzwecke. Ich suche nach einer Möglichkeit, die Schaltfläche "Bearbeiten" nur für die zweite Zeile zu deaktivieren, ohne nach dem Rendern Berechnungen durchzuführen. Ich würde gern eine eingebaute Funktion verwenden, die wie die renderer Eigenschaft, anstatt durch den Speicher zu laufen, um jede Zeile zu aktualisieren, sobald das Raster gerendert wurde.

Bietet ExtJS 4.1.1 diese Art von Funktion?

    
leaf 21.03.2013, 10:06
quelle

5 Antworten

2

Ich hatte diese Frage vergessen, bis Louis seine Antwort bekanntgab. Ich entschied mich schließlich, ActionColumn zu überschreiben, um die fehlenden Features hinzuzufügen. Hier ist der Code:

%Vor%     
leaf 13.06.2013, 16:03
quelle
26

Sie können die Konfiguration isDisabled (mindestens ab Version 4.2.1) verwenden:

%Vor%

Wenn isDisabled (..) true zurückgibt, ist das Symbol verschwommen und der Handler wird nicht per Mausklick ausgelöst.

    
Louis 12.06.2013 09:15
quelle
8

Ich fange nur an zu sagen: Ich vermeide es, Action-Spalte um jeden Preis zu verwenden, es ist völlig unmöglich, irgendeine Art von Rendering-Logik (wie verschiedene Bilder pro Zeile und bedingt auf dem Zeilenmodell gezeigt) . Definieren Sie stattdessen eine reguläre Spalte, die ein Bild rendert und das Klickereignis in der Spalte nutzt. Hier ist ein Beispiel aus meinem Code:

%Vor%     
Reimius 21.03.2013 13:48
quelle
1

Ich habe folgende Lösung im Sencha Forum gefunden: Zusätzlich zu der hier bereits beschriebenen "isDisabled" -Funktion können Sie die folgende Konfiguration verwenden, um das Symbol je nach Datensatz zu ändern (oder auszublenden):

%Vor%

Meine CSS-Klasse ist definiert als:

%Vor%

Da ich Icons über CSS trotzdem anzeige, ist dies eine schnelle Möglichkeit für mich, Icons dynamisch zu ändern. Bitte beachten Sie, dass die Deaktivierung des Handlers über "isDisabled" immer noch erforderlich ist, da der Handler andernfalls starten würde, wenn Sie auf die Aktionsspalte klicken, selbst wenn das Symbol nicht angezeigt wird.

    
janinab42 28.04.2015 10:46
quelle
0

Ich habe das Folgende in ExtJs 6.0.1 Version verwendet und funktioniert gut. Verwenden Sie die Konfiguration "getClass". Eine Funktion, die die CSS-Klasse zurückgibt, um sie auf das Symbolbild anzuwenden.

%Vor%     
user1463110 18.05.2016 15:03
quelle

Tags und Links