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>
<?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>
相关文章推荐
- js如何监听滚动条滚动事件,使得某个标签内容始终位于同一位置
- 监听鼠标滚动事件,当滚动条滚动到某些距离时 显示DIV
- Qt实现小功能之列表无限加载(创意很不错:监听滚动条事件,到底部的时候再new QListWidgetItem)
- Qt实现小功能之列表无限加载(创意很不错:监听滚动条事件,到底部的时候再new QListWidgetItem)
- js如何监听滚动条滚动事件,使得某个标签内容始终位于同一位置
- JS及jQuery获取各种宽度、高度的简单介绍以及判断滚动条滚动到底部事件
- js监听滚动条滚动事件使得某个标签内容始终位于同一位置
- 关于如何使用javascript监听滚动条滚动事件
- Qt实现小功能之列表无限加载(创意很不错:监听滚动条事件,到底部的时候再new QListWidgetItem)
- js监听滚动条滚动事件使得某个标签内容始终位于同一位置
- vbox等控件添加滚动条滚动事件的监听函数
- [总结]DataGrid 固定表头实现(纵向和横向滚动条滚动,而Header不动)
- 如何在DataGrid里面产生滚动条而不滚动题头
- 如何在DataGrid里面产生滚动条而不滚动题头
- 在DataGrid里面产生滚动条而不滚动题头
- 完成功能是DataGrid的页面选中事件、鼠标事件、双击事件改变TR的色彩
- java基础 ---事件监听以及eclipse的安装
- 如何让Listview(vsReport)选中的一行字体变色或底色改变
- 如何在DataGrid里面产生滚动条而不滚动题头
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)