Deaktivieren der Spalte "Aktion" Element für eine einzelne Zeile?
Betrachten Sie dieses JSON-Beispiel :
[{id:1,editable:true},{id:2,editable:false}]
Diese Datensätze werden geladen, im store angezeigt wird dann innerhalb einer grid-panel. Dieses raster hat eine Spalte "Aktion" Element für die Ausgabe Zwecke. Ich bin auf der Suche nach einer Möglichkeit zum deaktivieren der Schaltfläche "Bearbeiten" nur für die zweite Zeile, ohne eine Berechnung nach dem Rendern. Ich würde gerne eine eingebaute Funktion, die funktioniert wie die renderer
Eigenschaft als Schleife über den store zu aktualisieren, die jede Zeile einmal das raster gerendert wurde.
Tut ExtJS 4.1.1 bietet diese Art von Funktion?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwenden die isDisabled config (zumindest ab version 4.2.1):
Wenn isDisabled(..) gibt true zurück, das Symbol ist verschwommen, und der handler nicht ausgelöst, auf die Maus klicken.
Ich werde einfach zu beginnen mit den Worten: ich vermeiden, über die Aktion-Spalte auf allen Kosten, ist es völlig nicht in der Lage zu tun, jede Art von rendering-Logik (wie verschiedene Bilder pro Zeile, und zeigt, bedingt auf die Zeilen-Modell). Stattdessen definieren Sie eine regelmäßige Spalte macht, dass ein Bild und nutzt das click-Ereignis in der Spalte. Hier ist ein Beispiel aus meinem code:
disableAction
Methode, oder die Fähigkeit, einfache Elemente anfügen, die nebeneinander in einer einzelnen Spalte mit einer einfachen config-array. Vielleicht ist meine Frage nicht detailliert genug.Hatte ich vergessen diese Frage, bis Louis geschrieben seine Antwort. Entschied ich mich schließlich zu überschreiben ActionColumn hinzufügen der fehlenden features. Hier ist der code :
Fand ich folgende Lösung, die bei der Sencha-Forum:
Zusätzlich zu den "isDisabled"-Funktion bereits hier beschrieben, können Sie mit der folgenden config zu ändern (oder ausblenden) das Symbol, um die Anzeige je nach Datensatz:
Meine CSS-Klasse definiert ist als:
Als ich die Darstellung von Icons via CSS sowieso, das ist eine schnelle Möglichkeit für mich, zu ändern, die icons dynamisch. Bitte beachten Sie, dass das deaktivieren der handler über "isDisabled" ist noch immer gerade nötig ist, weil sonst die Prozedur würde starten, wenn Sie klicken Sie auf die Spalte Aktion, auch wenn das Symbol nicht angezeigt.
Ive verwendet die folgenden im ExtJs 6.0.1 version und funktioniert gut. Verwenden Sie 'getClass' config.
Eine Funktion gibt die CSS Klasse für das Symbol Bild.