0

FlexのAdvancedDataGridColumnGroupに含まれる特定のセル内のテキストの色を指定する方法は? コードはアクション スクリプトであり、テキストの色はセルに含まれる値によって異なります。つまり、負の値の場合は赤で表示する必要があり、そうでない場合は黒で表示する必要があります。

回避策もあれば言及してください!

ありがとう!

4

1 に答える 1

0

あなたが説明する機能を使って例を示しました。願わくば、それが役立つでしょう。

        <mx:AdvancedDataGrid id="grid"
                             itemRenderer="MyAdvancedDataGridItemRenderer"
                             dataProvider="{dataProvider}"
                             width="200" height="100%">

            <mx:groupedColumns>
                <mx:AdvancedDataGridColumn dataField="name"/>
                <mx:AdvancedDataGridColumn dataField="score"/>
            </mx:groupedColumns>
        </mx:AdvancedDataGrid>

        <mx:Script>  
            <![CDATA[  
                import mx.collections.ArrayCollection;

                [Bindable]  
                private var dataProvider:ArrayCollection = new ArrayCollection([  
                    {name:"Name1", score:-12},   
                    {name:"Name2", score:10},   
                    {name:"Name3", score:-100},   
                ]);
            ]]>  
        </mx:Script> 
    </mx:Application>

そして、クラスMyAdvancedDataGridItemRenderer.as:

package
{
    import mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer;
    import mx.controls.advancedDataGridClasses.AdvancedDataGridListData;

    public class MyAdvancedDataGridItemRenderer extends AdvancedDataGridItemRenderer
    {

        public function MyAdvancedDataGridItemRenderer()
        {
            super();
        }

        override public function validateProperties():void
        {
            super.validateProperties();
            if (listData)
            {
                var item:Object = AdvancedDataGridListData(listData).item;
                if (AdvancedDataGridListData(listData).dataField == "score") {
                    setStyle("color", item.score < 0 ? 0xff0000 : 0x000000);
                }
            }
        }
    }

}
于 2013-01-18T08:24:18.620 に答える