Wie kann ich die borderColor der ausgewählten Zeile in AdvancedDataGrid in Flex 4.6 anzeigen. Sie können das folgende Bild für Ihre Referenz sehen.
Antworten:
2 für die Antwort № 1Die ausgewählte Zeile befindet sich in der AdvancedDataGrid
realisiert durch gewidmet Sprite
, die als Zeichenfläche für das Zeichnen verwendet wird. Um einen Rahmen in der Auswahlmarkierung zu erstellen, müssen Sie eine benutzerdefinierte Klasse basierend auf dem erstellen AdvancedDataGrid
und überschreiben Sie die geschützte Methode drawSelectionIndicator
.
Das folgende Beispiel sollte eine Auswahlmarkierung mit einem 1 Pixel breiten roten Rand erzeugen:
public class GridWithBorderedSelectionMarker extends AdvancedDataGrid {
override protected function drawSelectionIndicator(
indicator:Sprite, x:Number, y:Number, width:Number,
height:Number, color:uint,
itemRenderer:IListItemRenderer):void {
if (isRowSelectionMode()) {
width = unscaledWidth - viewMetrics.left - viewMetrics.right;
}
var borderColor:uint = 0xff0000;
var g:Graphics = Sprite(indicator).graphics;
g.clear();
g.beginFill(borderColor);
g.drawRect(0, 0, width, height);
g.beginFill(color);
g.drawRect(1, 1, width - 2, height - 2);
g.endFill();
indicator.x = x;
indicator.y = y;
}
}