flex 自定义可视化组件的超级基类的属性设置
- 博客分类:
- 技术杂绘
flex 自定义可视化组件的超级基类的属性设置
2010年07月03日
虽然前段时间以乔布斯为首的几位大侠对flash的安全、性能等进行了强烈的批评,而且伴随着html5的日趋完善,可能这种批评声会越来越大,甚或超过南非世界杯呜呜组啦的分贝,但是个人认为flex确实是一个可以做delphi、pb、c#等客户端所具有的强鼠标、键盘操作性的web应用好工具。但最近在开发flex自定义组件的时候,却让我十分恼火,真TMD的想骂Flex开发团队是一帮蠢驴(这是气话,flex总体来说还是不错的,但确实不是很成熟)。那么究竟什么让我这么火?Flex自定义组件的属性配置就是个鸡肋,就是基本组件的属性配置也很差。
拿使用频率较高的AdvancedDataGrid来说,该控件的属性配置应该算是做的比较好的了,提供了列配置,开发人员可以通过图形界面增加、删除列,编辑列的可编辑、标题、显示字段等属性,但是比较C#等客户端的话,Flex提供的可视化属性配置还是差之太远。现在自定义一个Grid,继承AdvancedDataGrid。关于如何自定义组件,网上已经说的很多了,这里不再赘述,自定义组件有2种做法:其一是ActionScript类,其二是mxml文件。不管用哪种方法,现在已经做好了一个自定义表格MyGrid,继承AdvancedDataGrid。
新建一个mxml Application,将MyGrid拖放到该application中,发现MyGrid的属性配置面板里除了id等几项设置外已再无其它内容,刚才在AdvancedDataGrid属性面板中所见的dataProvider、选择模式、列配置等都已不见,也就是说自定义的MyGrid不能进行可视列编辑了,狂晕呀。
仔细分析大概是这样的:
1) flex所有可视组件的属性配置应该有个基本模板,大概该模板是基于UIComponent的;
2) flex自包含可视组件的属性配置应该有其特定实现,比如AdvancedDataGrid,应该有扩展自基本模板的AdvancedDataGrid属性配置;
3) 所有自定义组件的属性配置都只有基本模板(诸如id、左右边距等),因为flex找不到自定义组件的属性配置模板实现(由于flex组件的属性配置是flex预定义程序,且只对flex的标准组件做了定义),所以只有用UIComponent的配置模板了;
结论与建议:
结论很明显,flex的自定义组件没有可用的可视化属性配置,因此我们要设置属性只能在mxml文件或者as文件中进行 coding 脚本,如果一个MyGrid有30列,那么就coding 30 对AdvancedDataGridColumn吧。
建议,虽说flex其核心还是脚本编程,但个人认为一个好的开发工具,高效的开发工具还是很重要的,我认为flex不仅要完善属性控制面板,对其数据管理、标准的组件(拿最简单的Button来说吧,在4中不能直接设置icon了,为了显示带icon的button我tmd要写一堆代码,而在3中却是可以直接设置的,虽说4是为了把显示和数据分开,但同时要考虑开发效率呀。)等也需要加以完善。
发表评论
-
Flex 与java 通信,通过BlazeDS
2012-01-20 01:26 587Flex 与java 通信,通过BlazeDS 2010年0 ... -
Flex 动态datagrid的应用
2012-01-20 01:26 484Flex 动态datagrid的应用 2 ... -
有意思的flex网站
2012-01-20 01:26 627有意思的flex网站 2010年12月22日 flex ... -
Flex学习收藏资料
2012-01-20 01:26 525Flex学习收藏资料 2010年09月16日 1、《Fl ... -
VB 两小时
2012-01-19 09:16 487VB 两小时 2011年09月25日 Option Ex ... -
使用 Shell 属性及方法
2012-01-19 09:16 894使用 Shell 属性及方法 2 ... -
VB获取QQ2011安装路径
2012-01-19 09:16 485VB获取QQ2011安装路径 2011年05月23日 V ... -
VB关机代码
2012-01-19 09:16 666VB关机代码 2011年07月20日 .首先在Form1 ... -
VB 打开网络连接
2012-01-19 09:16 816VB 打开网络连接 2011年10月29日 Option ... -
opengl
2012-01-17 01:49 666opengl 2010年11月17日 ... -
转载:OpenGL显示文字
2012-01-17 01:49 577转载:OpenGL显示文字 2010年07月03日 本课 ... -
C#程序实现动态调用DLL的研究
2012-01-17 01:48 671C#程序实现动态调用DLL的研究 2011年04月26日 ... -
VC编译器配置及编译选项
2012-01-17 01:47 541VC编译器配置及编译选 ... -
WinCE驱动开发问题精华集锦
2012-01-17 01:47 592WinCE驱动开发问题精华 ... -
编译Touchlib出现问题(仍然尚未解决!)
2012-01-15 20:59 793编译Touchlib出现问题(仍然尚未解决!) 2009年1 ... -
摘嵌入式教案2
2012-01-15 20:59 566摘嵌入式教案2 2009年12 ... -
程序工具
2012-01-15 20:58 425程序工具 2010年10月15日 开发(Developm ... -
各种计算机语言的盘点
2012-01-15 20:58 519各种计算机语言的盘点 2010年01月28日 转自:ht ... -
arm linux 编译环境建立(文摘)
2012-01-15 20:58 552arm linux 编译环境建立(文摘) 2011年02月2 ...
相关推荐
u3d的单件基类,简单易用,用法: public class TestSingleton : Singleton<TestSingleton> { public static TestSingleton GetTest() { return TestSingleton.Instance(); } }
VC6.0中不便实现自定对话框基类,此实例实现重用基类资源,如管理系统中把操作按纽权限控制放在基类中,将底系统复杂性。
ZComponent 用于构建自定义HTML元素的WebComponent基类
数据库操作的基类,支持sql server,orcal,ole db,基于连接池的,包括存储过程的调用等,调用简单,使用哪种数据库类型直接实例化对应的dataPool即可。
非常实用的ASP.NET类库、C#读取AD域里用户名或组、Common类库、DotNet基础类大全、SqlHelper基类、字符串加密
dao层基类dao层基类dao层基类dao层基类dao层基类
moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解.rar
我收集的C#基类,比较全.我收集的C#基类,比较全. 包含有: ASP.NET类库 C#读取AD域里用户名或组 Common类库 DotNet基础类大全 SqlHelper基类 字符串加密
一个基于CMake跨平台开发环境的多模块的QT配置示例。 同时在其中内置了一个QT自定义窗体的基类。
C++多线程基类C++多线程基类C++多线程基类C++多线程基类C++多线程基类C++多线程基类C++多线程基类C++多线程基类C++多线程基类
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的...总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。
DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类...
一个规范flutter生命周期的Widget基类,并且封装了基本属性,加快开发速度~
QT快速开发自定义标题栏示例,非常简单,使用方法如下: 1、目标窗口添加标题栏、最大化最小化关闭按钮(该步最好每次使用时,从模板程序中直接复制) 2、窗口基类从QDialog改为QFramelessDialog 3、窗口构造函数中...
在各类中分别增加以下成员: base1中增加私有数据成员int b1 base2中增加私有数据成员int b2 level1中增加私有数据成员int l1 level2中增加私有数据成员int l2 toplevel中增加私有数据成员int t
【Python可视化脚本开发框架】PyFlow - Visual scripting framework for python by wonderworks-software 实现的程序的基本结构,例如包发现,输入自定义,导出程序,实体和工具的基类。 您可以完全删除默认情况下...
wc-base:JavaScript Web组件自定义元素基类,该类自动导入组件的样式表并在自定义元素浏览器注册表中对其进行定义
c# xml 操作 基类
受和启发的用编写的可重用d3.js组件的基类。 您应该从此类继承,将对构造图有用的所有参数附加到构造函数@accessors ,并编写一个_draw(element, data, i)函数来进行实际绘制。 例子 class d3.chart.MyChart ...