Ich versuche, eine Flex (Advanced) DataGrid-Komponente mit einem Mechanismus zu machen, wo der Benutzer die Sichtbarkeit der Spalten wechseln kann. Ich habe das grob implementiert, indem ich die Spalten in das Rechtsklick-Menü eingelesen habe, und wenn hier ein Spaltenname ausgewählt ist, wird die Sichtbarkeit umgeschaltet. Es funktioniert, aber es ist nicht die eleganteste Lösung.Adobe Flex DataGrid wählbare Spalten
Insbesondere versuche ich, das "Datagrid" zu emulieren, das Mozilla Thunderbird verwendet, um E-Mails anzuzeigen. Hier ist ein Bild:
In der oberen rechten Ecke gibt es ein Symbol über die Bildlaufleiste. Wenn keine Bildlaufleiste vorhanden ist, bleibt das Symbol an der gleichen Stelle. Wenn das Symbol klicken, öffnet sich ein Menü, das alle möglichen Spalten zeigt, mit den sichtbaren diejenigen ein Häkchen neben ihnen hat, wie folgt aus:
Auch immer die Bildlaufleiste unter dieser erscheint Knopf, nie "drängen" es in seine eigene Spalte.
Ich möchte dies in Flex neu erstellen. Ich glaube, der Menü-Teil und das Erstellen einer Spalte mit einer Schaltfläche HeaderRenderer ist einfach genug. Aber ich kann nicht herausfinden, wie (wenn überhaupt möglich) dies mit der Bildlaufleiste zu tun ist, weil die Bildlaufleiste immer "ihre eigene Spalte" zu sein scheint. Irgendwelche Ideen oder Hilfe würden geschätzt. Vielen Dank.
- Ian
Hallo Ian, Ich habe eine Menge Arbeit mit ADG selbst getan und festgestellt, dass für diese Art von Kontrolle Ihre am Ende eine Erweiterung von ADG erstellen müssen, wenn Sie nicht bereits haben und müssen überschreiben Einige der Methoden betrachten zum Beispiel die AS3 Sprachreferenz geschützten Methoden: drawColumnBackground, drawHeaderBackground, auch um zu bemerken, dass Sie möglicherweise schummeln können, wenn Sie die letzte Spalte vor der Bildlaufleiste als den Container verwenden, um das PopupMenu in und einfach zu haben außerhalb seiner Breite gezeichnet und Clipping ausschalten. – shaunhusain