您的位置:首页 > 其它

datagrid 选中行后 行的字体变色,以及滚动条滚动的时候监听事件

2015-02-13 09:14 344 查看
重写s:GridColumn数据<s:GridColumn id="data0" dataField="data0" width="125" itemRenderer="skins.DataGridGridItemRenderer"></s:GridColumn>------------------------------------------------------------------------------------------------------
<?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" creationComplete="init(event)"clipAndEnableScrolling="true">
<fx:Script><![CDATA[import com.boco.eoms.flex.components.MyGridColumn;
import mx.controls.Alert;import mx.events.CollectionEvent;import mx.events.FlexEvent;import mx.events.FlexMouseEvent;import mx.events.ListEvent;
import spark.components.DataGrid;import spark.events.GridEvent;import spark.events.GridSelectionEvent;
private var dg:DataGrid;protected function init(event:FlexEvent):void{dg = this.owner as DataGrid;dg.addEventListener(GridSelectionEvent.SELECTION_CHANGE,updateSelected);//监听数据选中 字体变色dg.scroller.verticalScrollBar.addEventListener(Event.CHANGE,updateSelected);//监听滚动条滚动事件 字体变色
dg.addEventListener(FlexEvent.UPDATE_COMPLETE,dataChange);//监听数据源变化
if(String((this.column as MyGridColumn).flag)=="1"){this.addEventListener(MouseEvent.CLICK,onclick);this.lblData.useHandCursor=true;this.lblData.buttonMode=true;}else{this.removeEventListener(MouseEvent.CLICK,onclick);this.lblData.useHandCursor=false;this.lblData.buttonMode=false;}}private function updateSelected(e:Event = null):void{if(!data || !dg)return;
if(dg.selectedItem == data){lblData.setStyle("color", "#ffffff");}else{lblData.setStyle("color", "#8F9092");}}
private function overMouse(e:Event = null):void{lblData.setStyle("color", "#ffffff");}
private function outMouse(e:Event = null):void{lblData.setStyle("color", "#8F9092");}/*** 数据源变化* */private function dataChange(e:Event = null):void{//Alert.show("aa");lblData.setStyle("color", "#8F9092");
if(String((this.column as MyGridColumn).flag)=="1"){this.addEventListener(MouseEvent.CLICK,onclick);this.lblData.useHandCursor=true;this.lblData.buttonMode=true;}else{this.removeEventListener(MouseEvent.CLICK,onclick);this.lblData.useHandCursor=false;this.lblData.buttonMode=false;}}
private function = null):void{Alert.show("aa");}]]></fx:Script>
<s:Label id="lblData" top="9" left="7" text="{data[column.dataField]}" maxDisplayedLines="1" width="100%"/>
</s:GridItemRenderer>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐