2

データグリッドの行の背景色を変更するためのさまざまなハックがあるようですが、それらはすべてレンダリング時に発生するようです。

参照: Adob​​e Flex でのデータグリッド行の背景色の設定

行の色を赤に変更してから、バインドされた ArrayCollection への変更に基づいて頻繁に通常に戻す必要があるデータグリッドがあります。行の色を動的に変更する方法を探しています。

誰でも助けることができますか?変更は頻繁に行われるため、行の背景色を変更するのにコストがかからないのであればよいのですが、物乞いが選択することはできません。

4

1 に答える 1

3

カスタム コンポーネントを作成する必要があります。プロジェクトのサニタイズされたコードを含めます。ActionScript のどこかに、列ごとに次のように記述する必要があります。

column.itemRenderer = new ClassFactory(CellRenderer);

カスタムクラスは次のとおりです。

public class CellRenderer extends Label {
    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { 
        super.updateDisplayList(unscaledWidth, unscaledHeight); 
        var g:Graphics = graphics;
        g.clear();
        for each(var object:Object in arrayCollection) {
            if (object.rowIndex == 0) { //or whatever your conditions are
                g.beginFill(0xFFFFC0); 
                g.drawRect(0, 0, unscaledWidth, unscaledHeight);
                g.endFill(); 
            }
        } 
    } 
} 
于 2010-03-08T12:55:57.910 に答える