flex 自定义可视化组件的超级鸡肋的属性设置
2010-07-03 11:54
369 查看
虽然前段时间以乔布斯为首的几位大侠对
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
是为了把显示和数据分开,但同时要考虑开发效率呀。)等也需要加以完善。
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中如何通过设置toolTipField属性在ButtonBar控件中设定自定义tool tip的例子
- highcharts图表组件通过设置tooltip属性自定义数据提示信息
- dorado自定义组件虚拟属性的设置和获取
- C#----属性应用之自定义组件和用户组件的属性设置
- [Flex] 组件Tree系列 —— 利用firstVisibleItem属性,设置或取得第一个显示节点
- 为Flex自定义组件添加属性和事件
- highcharts图表组件通过设置tooltip属性自定义数据提示信息
- Flex组件开发之自定义属性和方法
- Flex 3入门教程: 使用代码分离构建自定义组件
- GStreamer使用playbin,如何给动态生成的source组件设置属性?
- flex 各组件对应的样式属性
- 利用代码与布局分离技术构建自定义Flex组件
- arcgis server for flex 编程时设置mxd文档中图层为自定义符号时flex程序不做相应改变的bug
- Flex可视化组件效果控制
- 关于H5中自定义属性的设置和获取
- onload事件——使用自定义addOnload(函数)设置多重onload属性
- 自定义真正可重用的Flex组件
- Flex中TextInput组件如何设置限制某些字符的输入
- 自定义Profile时如何有效设置构造型的属性?
- 自定义组件使用属性资源