Deaktivieren Sie die Zeilen in Flex DataGrid
Es sei denn, ich bin etwas fehlt hier offensichtlich, gibt es keine Möglichkeit, disbabling eine oder mehrere Zeilen in einem DataGrid. Ich würde erwarten, dass ein disabledRows oder disabledRowIndidices-Eigenschaft der DataGrid-oder List-Komponente, aber das scheint nicht zu existieren.
Fand ich eine "rendererArray" Eigenschaft, die den Gültigkeitsbereich mx_internal und enthält alle itemrenderers aller Zellen im datagrid. So kann ich den Typ und den Wert der Daten in die renderer und aktivieren oder deaktivieren Sie alle Zellen der gleichen Zeile, aber das fühlt sich zu sehr wie ein hack.
Irgendwelche Vorschläge?
Bearbeiten: ich weiß, dass das deaktivieren einer Zeile könnte bedeuten verschiedene Dinge. In meinem Fall bedeutet es, nicht in der Lage, Bearbeiten Sie die Zeile, auch wenn die editable-Eigenschaft des datagrid-Steuerelements auf true festgelegt ist. Es könnte jedoch auch bedeuten, nicht in der Lage, um eine Zeile zu wählen, aber das ist nicht das, was ich Suche.
Ich meine den Fall, es bedeutet nicht in der Lage, um es zu Bearbeiten. Es könnte jedoch auch bedeuten, nicht in der Lage, um eine Zeile zu wählen. Gute Bemerkung, ich werde zu aktualisieren, ist die Frage.
Auch Datenblätter sind nicht definiert durch Ihre Reihen, Sie sind definiert durch Spalten. Für das deaktivieren bestimmter Zeilen, Sie sprechen über das wissen über die zugrunde liegenden Daten, was bedeutet, dass es im Umgang mit der itemRenderers.
InformationsquelleAutor Christophe Herreman | 2009-02-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies zu tun, müssen Sie einige Daten für diese Zeile zu bedeuten, dass es nicht bearbeitet werden. Wenn dann die "itemEditBeginning" dann überprüfen Sie die Daten-oder Zeilen-index zu aktivieren/deaktivieren Sie die Standard-Verhalten mit Ereignis.preventDefault ...
Die andere option ist, um eine benutzerdefinierte ItemRenderer für Ihre Daten Zelle, aber glaube nicht, dass das ist, was Sie wollen wie Sie müssten, um Sie für jede Ihrer Zellen.
InformationsquelleAutor AndrewB
eigentlich tun Sie das am besten via "itemEditBeginning".
Hier ein gutes tutorial: link-text
InformationsquelleAutor
Alex Harui bietet ein gutes Beispiel mit Quelle hier, http://blogs.adobe.com/aharui/2007/06/disabling_list_selection.html Es ist eine etwas langwierige Lösung, sondern deckt Maus-und Tastatur-Interaktion mit der datagrid-Komponente. Ich Stimme Ihnen zu, es ist überraschend, dass es nicht eine "built-in" - Methode, dies zu tun.
InformationsquelleAutor
Stellen Sie einfach eine Funktion, um die "itemEditBegin"der DataGrid-Komponente die soetwas macht:
Veranstaltung.preventDefault() Stoppt das DataGrid aus der Umstellung der ItemRenderer für die ItemEditor für so stoppen Sie die Ausgabe der Zeile, die nicht die Kriterien erfüllen.
Das DataGrid muss bearbeitbar sein, damit dies Funktioniert.
Dies sollte den trick tun.
InformationsquelleAutor Chepech