在 Flex 的 Advanced DataGrid 选定行中显示边框颜色

Show border color in AdvancedDataGrid selected row in Flex

如何在 Flex 4.6 的 AdvancedDataGrid 中显示所选行的边框颜色。您可以查看下图以供参考。

选中的行在通过专用Sprite实现的AdvancedDataGrid中,用作绘图的canvas。要在选择标记中创建边框,您需要基于 AdvancedDataGrid 创建自定义 class 并覆盖受保护的方法 drawSelectionIndicator.

以下示例应生成一个带有 1 像素宽红色边框的选择标记:

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;
    }
}