2016-07-21 80 views

回答

2

選定行處於AdvancedDataGrid通過專用Sprite實現的,其被用作用於繪圖的畫布。要在選擇標記中創建邊框,您需要根據AdvancedDataGrid創建自定義類並覆蓋受保護的方法drawSelectionIndicator

下面的例子應該產生一個選擇標記與1px的寬的紅色邊框:

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

這是偉大的!非常感謝。但是,根據某些條件,我有不同的要求,我想突出顯示紅色邊框中的整行而不進行選擇。我所選的行與高亮行不同。我怎樣才能做到這一點。 – BikrantSingh