`
jie66989
  • 浏览: 253340 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

flex学习笔记-DataGrid,ComboBox AppEvent EventBus

    博客分类:
  • flex
 
阅读更多
事件:父页面添加监听子页面触发这个时候需要设置监听的第三个参数为true

		<!--flex4画线-->
		<s:Spacer height="100%"/>
		<s:Line width="100%">
			<s:stroke>
				<s:SolidColorStroke color="0x000000" weight="1" caps="square"/>
			</s:stroke>
		</s:Line>
<mx:DataGrid width="100%" height="100%" dataProvider="{list}">
	<mx:columns>
		<mx:DataGridColumn dataField="VEHICLE_LOCATION" headerText="位置"/>
		<mx:DataGridColumn dataField="VEHICLE_STATUS" headerText="状态"/>
		<mx:DataGridColumn headerText="时间" labelFunction="myLabelFunctionDG"/>
		<mx:DataGridColumn dataField="GPS_SPEED" headerText="速度"/>
		<mx:DataGridColumn dataField="GPS_DIRECTION" headerText="方向"/>
	</mx:columns>
</mx:DataGrid>

			<s:ComboBox id="category" dataProvider="{list}" 
						width="200"
						labelFunction="myLabelFunction"
						keyUp="setNextFocus_keyUpHandler(event)" 
						change="category_changeHandler(event)" />

			protected function setNextFocus_keyUpHandler(event:KeyboardEvent):void
			{
				if (event.keyCode == Keyboard.ENTER)
				{
					focusManager.setFocus(focusManager.getNextFocusManagerComponent());
				}
			}
			protected function enter_keyUpHandler(event:KeyboardEvent):void
			{
				if (event.keyCode == Keyboard.ENTER)
				{
					event.target.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
				}
			}
			protected function category_changeHandler(event:IndexChangeEvent):void
			{
				if(-3 == event.newIndex)
				{
					category.selectedIndex = event.oldIndex;
				}
			}
			
			private function myLabelFunction(item:Object):String
			{
				if(null == item || instanceOf(String).matches(item))
				{
					item = category.dataProvider.getItemAt(category.selectedIndex);
				}
				return item.value+"_"+item.label;
			}

			private function myLabelFunctionDG(item:Object, column:DataGridColumn):String
			{
				var track:TrackModel = item as TrackModel;
				return Util.dateFormat(track.CREATE_TIME, Util.FORMAT_FULL);
			}

package
{
	import flash.events.Event;
	import flash.events.EventDispatcher;
	
	/**事件管理类,负责总事件的分发*/
	public class EventBus extends EventDispatcher
	{
		public function EventBus()
		{
			if(manager) throw new Error("EventBus is must be singleton!");
		}
		
		private static var manager:EventBus;
		
		public static function getInstance():EventBus
		{
			if(!manager)manager = new EventBus();
			return manager;
		}
		public function dispatch(type:String):Boolean
		{
			return dispatchEvent(new Event(type));
		}
	}
}

appevent类,这个类中重要的是重写clone方法
package
{
	import flash.events.Event;
	
	/**自定义事件,可以在data属性传递一个object值*/
	public class AppEvent extends Event
	{
		/**登录成功事件*/
		public static const LOGIN_SUCCESS:String = "loginSuccess";
		/**登录失败事件*/
		public static const LOGIN_FAULT:String = "loginFault";
		/**注册成功事件*/
		public static const REGISTER_SUCCESS:String = "registerSuccess";
		/**注册失败事件*/
		public static const REGISTER_FAULT:String = "registerFault";
		/**关闭弹出窗口事件*/
		public static const TITLE_WINDOW_CLOSE:String = "menuTitleWindowClose";
		/**地图加载完毕事件*/
		public static const MAP_LOADED:String = "googleMapLoaded";
		
	    public function AppEvent(type:String, data:Object = null, callback:Function = null)
	    {
	        super(type, false, false);
	        _data = data;
	        _callback = callback;
	    }
		
	    private var _data:Object;
	
	    private var _callback:Function;
	
	    public function get data():Object
	    {
	        return _data;
	    }
		
	    public function set data(value:Object):void
	    {
	        _data = value;
	    }
		
	    public function get callback():Function
	    {
	        return _callback;
	    }
		
	    public function set callback(value:Function):void
	    {
	        _callback = value;
	    }
		
	    public override function clone():Event
	    {
	        return new AppEvent(this.type, this.data);
	
	    }
	}
}
分享到:
评论

相关推荐

    flex-datagrid-advancedDataGrid-demo

    本示例"flex-datagrid-advancedDataGrid-demo"显然是为了演示如何在Flex应用中有效地使用这两种数据网格控件。 首先,DataGrid是最基础的数据展示组件,它允许开发者以表格的形式展示数据,支持排序、选择和编辑等...

    easyui-datagrid2-demo.zip

    在这个 demo 中,我们可以从以下几个方面学习 EasyUI Datagrid 的使用: 1. **HTML 结构**: - `datagrid2_demo.html` 文件是主页面,它定义了 Datagrid 的结构和样式。Datagrid 通常包含在 `&lt;div&gt;` 元素中,通过 ...

    jeasyui-datagrid-datagrid2.zip

    jeasyui-datagrid-datagrid2.zip jeasyui-datagrid-datagrid2.zip jeasyui-datagrid-datagrid2.zip jeasyui-datagrid-datagrid2.zip jeasyui-datagrid-datagrid2.zip

    jeasyui-datagrid-datagrid

    《JeasyUI DataGrid深度解析与开发指南》 在Web应用开发中,数据展示和交互是核心部分之一,而DataGrid作为数据展示的利器,深受开发者喜爱。JeasyUI DataGrid是一款基于jQuery的轻量级组件,它为开发者提供了丰富...

    jQuery EasyUI编辑DataGrid用combobox实现多级联动

    在jQuery EasyUI中,DataGrid是一种常用的表格展示控件,它可以与各种编辑器结合使用,如combobox(下拉框)来实现更丰富的交互功能。本文主要探讨的是如何利用jQuery EasyUI的DataGrid和combobox组件实现多级联动的...

    Easyui-DataGrid表头拖动效果

    UI设计在一个系统中的重要性是不容忽视的,我们开发人员要做到:让用户去控制...给你的Easyui-DataGrid 表头添加一点料吧 Easyui-Datagrid—表头灵活显示http://blog.csdn.net/u010293698/article/details/47956865

    flex-datagrid中,双击选中的数据,自动把数据移动到另一个datagrid里

    flex-datagrid中,双击选中的数据,自动把数据移动到另一个datagrid里 希望可以帮助新的新手!

    Flex-DataGrid源码及资料

    Flex DataGrid是一款在Adobe Flex开发环境中广泛使用的组件,主要用于展示和操作大量结构化的数据。它是一种灵活的表格视图,可以轻松地实现数据的排序、筛选、分页等功能。在这个"Flex-DataGrid源码及资料"的压缩包...

    easyui-datagrid21-demo.zip

    《EasyUI Datagrid21演示实例详解》 EasyUI 是一款基于 jQuery 的 UI 框架,它提供了丰富的组件和易于使用的API,帮助开发者快速构建前端应用。在本压缩包 "easyui-datagrid21-demo.zip" 中,我们找到了一个关于 ...

    Flex4视频教程_03-06ComboBox和DataGrid的使用.rar )

    本视频教程聚焦于Flex4中两个重要的组件:ComboBox和DataGrid,它们在数据展示和用户交互方面扮演着重要角色。 ComboBox组件是Flex中的一个下拉列表选择控件,它结合了输入框和下拉列表的功能。用户可以手动输入...

    easyui-datagrid之间拖拽效果demo

    "easyui-datagrid 之间拖拽效果 demo" 重点展示了如何在两个 EasyUI Datagrid 之间实现数据的拖放功能,这对于提升用户体验,尤其是处理大量数据时的交互性至关重要。 首先,Datagrid 是 EasyUI 提供的一种表格控件...

    react-datagrid:为 React 精心打造的 DataGrid

    为 React 精心打造的 DataGrid 在查看演示 安装 $ npm install react-datagrid --save 变更日志 查看 路线图 查看 用法 请在您的项目中包含样式表index.css 。 如果你使用webpack和css-loader ,你可以要求它: ...

    wpf-datagrid-access DB

    在这个“wpf-datagrid-access DB”主题中,我们将深入探讨如何利用WPF Datagrid与Microsoft Access数据库进行交互,实现数据的读取、更新和保存。 1. **WPF Datagrid简介** - Datagrid是WPF中的一个数据展示控件,...

    flex DataGrid 嵌入Combobox列拖动下拉条数据混乱

    在Flex开发中,DataGrid是一种常用的组件,用于展示表格数据,而Combobox列则可以提供下拉选择功能,增强用户交互。然而,在实际应用中,我们可能会遇到一些问题,比如在DataGrid中嵌入Combobox列,并且允许用户拖动...

    easyui-datagrid官方demo

    easyui-datagrid官方demo,包含datagrid中combobox的使用方法,以及选择行,删除行,编辑行等实现方法。浏览器直接打开html可能无法访问他的data/datagrid_data.json里的数据,可以将datagrid_data.json里的数据放到...

    jquery-easyui-datagrid

    在提供的文件 `jeasyui-datagrid-datagrid12` 中,可能包含了一个名为 `datagrid12` 的示例,这可能是一个具体的 datagrid 实例,演示了如何配置和使用 datagrid。通常,这样的文件会包含 HTML、CSS 和 JavaScript ...

    Laravel开发-laravel-datagrid-builder

    "Laravel开发-laravel-datagrid-builder"项目是为了解决这一问题,它结合了Laravel的强大后端能力和前端jQuery Bootgrid插件,创建了一个高效的交互式数据网格。 **Laravel框架**: Laravel是一款基于PHP的开源Web...

    Flex-DataGrid使用关键字过滤结果

    Flex DataGrid是一款在Adobe Flex框架下广泛使用的数据展示组件,它允许开发者以表格形式展示大量数据并进行交互操作。在Flex应用中,DataGrid通常用于显示来自数据提供者(如ArrayCollection或XMLListCollection)...

    EasyUI_05-datagrid-src.zip

    这个名为 "EasyUI_05-datagrid-src.zip" 的压缩包文件很可能包含的是EasyUI框架中关于datagrid组件的源代码和相关资源。Datagrid是EasyUI中的一个重要组件,它是一个可分页、可排序、可过滤的表格展示控件,非常适合...

    初识通用数据库操作类——前端easyui-datagrid,form(php)

    easyui-datagrid是基于jQuery EasyUI框架的一个组件,它可以用来在前端页面上展示表格形式的数据。其特点包括支持分页、排序、远程数据加载等功能。文件描述中提到的easyui-datagrid组件能够左侧显示简略信息,右侧...

Global site tag (gtag.js) - Google Analytics