为datagrid单元格增加渲染效果的简单方法

<mx:Script>
<![CDATA[

import mx.controls.dataGridClasses.DataGridItemRender;
        import mx.controls.DataGrid;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alter;
import mx.managers.PopUpManager;
import mx.managers.CursorManager;

private function init():void //初始化 获取数据源
{
   testRO.LoadData("servername and para"); //外部服务及其参数
}

private function getResult(e:ResultEvent):void //将结果绑定到DG上
{
   var arr:Array=e.result as Array;
   testDG.dataProvider=arr;
}

private function on_error(e:FaultEvent):void   //错误提示
{
   Alert.show(e.message.toString(),"err");
}

private function testclick():void //单击DG时,获取的选中行的信息
{
   var selectdata:Object=testDG.selectedItem;
   Alert.show("click:"+selectdata.COL1);
}

private function testDclick():void //双击事件,动作同单击
{
   testclick();
}

]]>
</mx:Script>

<mx:RemoteObject id="testRO" destination="GenericDestination" source="testServer" result="getResult(event)" fault="on_error(event)"/>
//双击事件必须设置doubleClickEnable="true" paddingBottom="0" 等是取消单元格间的空隙
<mx:DataGrid id="testDG" itemClick="testclick()" doubleClickEnable="true" itemDoubleClick="testDclick()" paddingBottom="0" paddingTop="0" paddingLeft="0" paddingRight="0" testAlign="center">
<mx:columns>
   <mx:DataGridColumn headerText="col1" dataField="COL1"/> //非渲染列
   <mx:DataGridColumn headerText="col2" dataField="COL2">   //渲染列
    <mx:itemRender>
     <mx:Component>
      <mx:HBox horizotalAlign="center">
       <mx:Script>
       <![CDATA[
       
        import mx.controls.Alert;

        private var test_var:String;

        override public function set data(value:Object):void
        {
         if(value[COL1]=="1")
         {
          this.setStyle("color",0xffffff); //改变字颜色
          this.setStyle("backgroundColor",0xff0000);//改变背景色
          testImg.source="a.jpg"; //动态添加图片
          testTxt.htmlText=value.COL2;//设置显示数据
          test_var=value.COL1;//获取当先单元格值到变量
         }
        }

        private function clickHandler(x:String):void //获取单元格信息
        {
         Alert.show("x:"+x);
        }

       ]]>
       </mx:Script>
       <mx:Image click="clickHandler(test_var)" id="testImg" autoLoad="true"/>
       <mx:Text id="testTxt"/>
      </mx:HBox>
     </mx:Component>
    </mx:itemRender>
   </mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</mx:RemoteObject>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值