Flex的若干问题

| | Comments (4) | TrackBacks (0)

如果不用component来开发,可以想象花费的时间需要多长。虽然可以像以往用Flash来开发,应用一般自定义皮肤等等,但我们想快速开发——别人是快速开发吗?我不知道——不过问题转移到了另一边。

问题开始于对DataGrid的单元格自定义,那时想为某个单元自定义一个类,如可以定义那个单元显示为下拉列表等,这个问题从现在来说应该是没有挑战性,种种迹象表明只需要设置itemRenderer属性,而且也是在看文档和在网上找到了解决方法(文档与网上资料都是标签式的解决方式)。在这个问题解决之后,发现困难转移到了另一边:如何获取单元格的自定义对象?这个问题足足折腾了快要一周吧,阿斌和我可真具有耐心啊,研究并继续发现问题,哈哈。在早之前,阿斌通过debug去查找DataGrid里的内容,发现所有的东西都可以在那里找到,我也持续的在做这件事情,不过发现所有的东西都在私有变量中,无法从外部直接引用,那时可真是昏了头了,没有想到应该通过继承去获取那些值,而这是几天后的事了。

问题没有结束,以为能引用到内部的对象就可以“造火箭”了,这是我那时跟阿斌说得笑话。事情上,Flex中的组件存在一个问题:控件容器在于标签形式呈现时,是可以设置百分比的;而以脚本的方式书写确没办法设置百分比(或者我没找到这样做的方法)。在这问题上,我绕了个弯才把这个问题解决了。如mx.controls.Tree,先定义成module,然后通过脚本实例化,这样转换个角度进行操作;还有以上DataGrid的定义(包括可以访问单元格对象的功能),可不是这样简单做就可以了——如果不包含访问单元格对象的功能,那么操作的方式与Tree是一样的——首先,继承DataGrid类的oDataGrid拥有访问单元格对象的功能,然后通过oDataGrid自定义一个component名为:<controls:oDataGrid>,接着定义一个模块mDataGrid,模块里应用<controls:oDataGrid>component,最后一步就是通过脚本实例化mDataGrid,实例化的对象会以高宽百分百的方式占据它的父容器,这样才算完事,过程如下:

DataGrid -> oDataGrid -> <controls:oDataGrid> -> mDataGrid

老实说,这个用起来相当的效率不高,也许应该把拥有访问单元格对象的功能独立出来,这样可以减少以上步骤

遇到的问题也都在解决中,此处仅作为标记。

End.

0 TrackBacks

Listed below are links to blogs that reference this entry: Flex的若干问题.

TrackBack URL for this entry: http://www.tracesoul.com/mt-tb.cgi/17

4 Comments

tamt said:

可以试一下 percentHeight percentWidth 两个属性啊。

Hangring Author Profile Page said:

to tamt:
you are right! thank you!
在茫茫的属性中终于看到了percentHeight 和 percentWidth
晚上回去做精简工作 :-)

heven said:

呵呵感觉阿贤的方法是对原有组件的再次包装
不过能增加它原来没有的功能

Hangring Author Profile Page said:

嗯 考虑的过程中 也是在尽量用最顶部的类 以免产生不必要的属性和方法

Leave a comment

About this Entry

This page contains a single entry by Hangring published on November 15, 2007 9:56 PM.

战胜SPAM was the previous entry in this blog.

基于非本能 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.01