こんにちは私はAdobe Flexを初めて使用しています。とにかくここにある。 私は基本的に2つの条件をチェックする簡単なDataGridを試しています 1)アーティストが01でアルバムが 'アルバム01'の場合、背景を 'Year'列の対応するセルに設定します。Flexの複数の条件に基づいてデータグリッドセルの背景色を変更する
私の下のコードでは、プロパティが動作していないが、フォントの色を変更しているので、バックグラウンドカラーにスタイルを設定すると第二に、上記のネストされた条件を取得するコードを書く方法がわからないですか?誰かがこの面で私を助けることができたら、本当に感謝しています。 ありがとうございました!あらかじめ。以下は
はコードです: Newdatagrid.mxml<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" >
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
[Bindable]
public static var initDG:ArrayCollection = new ArrayCollection([
{Artist:'01', Album:'Album 01', Year:'2008'},
{Artist:'01', Album:'Album 02', Year:'2009'},
{Artist:'03', Album:'Album 03', Year:'2007'},
{Artist:'03', Album:'Album 04', Year:'2003'},
]);
]]>
</fx:Script>
<s:VGroup>
<s:DataGrid id="myGrid" width="360" dataProvider="{initDG}">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="Artist" headerText="Artist" itemRenderer="CellRenderer"/>
<s:GridColumn dataField="Album" headerText="Album" itemRenderer="CellRenderer"/>
<s:GridColumn dataField="Year" headerText="Year" itemRenderer="CellRenderer"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
</s:VGroup>
</s:Application>
レンダラ:
<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
implements="mx.controls.listClasses.IDropInListItemRenderer">
<fx:Script>
<![CDATA[
import mx.controls.dataGridClasses.DataGridListData;
import mx.controls.listClasses.BaseListData;
import mx.controls.Alert;
private var _listData:BaseListData;
[Bindable]private var isSelected:Boolean = false;
override public function set data(value:Object) : void
{
super.data = value;
lblData.text = data[column.dataField];
if (data[column.dataField].valueOf() >= 2008){
//styleName="myStyles.BgColor";
setStyle('backgroundColor',0xFFFF00);
}else{
setStyle('backgroundColor',0x32CD32);
}
}
[Bindable]public function get listData() : BaseListData
{
return _listData;
}
public function set listData(value:BaseListData) : void
{
_listData = value;
}
]]>
</fx:Script>
<s:Label id="lblData" top="9" left="7" width="100%" height="100%" textAlign="center"/>
</s:GridItemRenderer>
マイ所望の出力:条件:もしアーティスト= 01と年変化の年> = 2008その後、セルの背景to Red
http://stackoverflow.com/questions/748213/setting-background-color-for-datagrid-row-in-adobe-flex:
例は次のようなものになるだろうこのリンク。 – Triode
Rajeshさん、ありがとうございます。しかし、私はコード全体を取得することができず、ソースコードリンクにはサイトの有効期限が切れていると言われています。 –