[译] Spark List 加 Spark List等于Spark DataGrid?

源文链接: Spark List + Spark List = Spark DataGrid?  原作者: Alex Harui     
[原创翻译链接: http://www.smithfox.com/?e=66, 转载请保留此声明]

原作者在写这篇文章时, 还没有正式开始Flex4.5的DataGrid工作, 现在(2011-01-20)Flex4.5 preview版已经有了Spark DataGrid, 不过只实现了第一阶段功能, 第二阶段功能目前仍处于开发阶段。第二阶段引入了许多高级功能,例如列的尺寸调整和排序,以及单元格编辑, 皮肤增强 和大量性能提升工作等。

这篇文章有两个意义:

1. 可以让我们看到Spark DataGrid大概是什么样的设计思路

2. 如果你实际需求比较简单, 比如没有翻页, 没有排序, 无需很灵活的外观定制, 更无需cell editor, 那么这类的简单实现很有借鉴意义. 我曾经就写过一个基于UIComponent的DataGrid.

Spark的一个目标就是用组合的方式来创建自定义组件. 对于Halo, 当时一切都是为了效率(开发人员的工作效率??), 为了尽快地可以运行, 我们将中间的子类硬关联在一起. 这些中间的子类使得再去扩展这些类变得非常困难.

一个编程的公理是: 原型总比产品要容易的多.大家知道Flex4.0没有Spark DataGrid. 这是因为没有足够的时间. 我们已经创建了一个基于Spark的类,叫MXDataGridItemRenderer, 这个类可以让你为DataGrid创建item renderers, 这就象为SPark List创建item renderers一样的基本流程. 但剩下的DataGrid定制方式就和定制其它的Spark组件不一样了.
我最近有点时间用两个Spark Lists组合在一起创建了一个类似DataGrid的原型. 大概花了一天时间才做完, 你可以拖动标题调整列, 调整列宽, 点击标题头排序. 而且因为他是spark组件组合而成, 所以你可以象定制其它Spark组件一样来定制它.

不过, 我要提醒你, 这只是一个原型, 功能还不完善, 没有进行足够的调试. 如果你有很多列的话,可能还有性能问题.我将它发表出来是想让大家看看,我们怎么模仿MX的组件去创建那些Spark还没有的组件. 例如, 你想增加一个页脚, 很明显你可以通过增加第三个List来实现. 如果你想锁定行和列, 你只需增加更多的Lists.
声明一下, 不能保证最终产品的Spark DataGrid一定用这种方式来组合.

Run Demo
Download Source

到这里Alex Harui的文章已经结束, 有另外的一个同学在Alex的源代码基础上做了一些改进工作.

见 http://www.newtriks.com/?p=954, 作者: newtricks, 他改进的代码见: https://github.com/newtriks/SparkDataGrid, 改进后的Demo: http://demo.newtriks.com/ExampleSparkDataGrid/

说到DataGrid, 迄今为止product我们还是必须用mx:DataGrid, 这就需要介绍另一个链接, 是 mx:DataGrid 翻页的

http://flexcomponentutils.riaforge.org/ , Demo: http://flexoop.com/wp-content/uploads/FlexComponentUtilsDemo/FlexComponentUtilsDemo.html

[原创翻译链接: http://www.smithfox.com/?e=66, 转载请保留此声明]

smithfox | Thursday 20 January 2011 at 3:19 pm | | UI        | Used tags: , ,

One comment

best iphone 6 cases

The iPhone 6 and iPhone 6 Plus represent a big design change from their predecessor, the iPhone 5S, so it’s likely that Apple won’t make such significant design changes to the next generation of iPhone. Traditionally, with Apple’s ‘S’ models, the design is almost identical to the previous iPhone’s design.

best iphone 6 cases, (URL) - 04-06-’15 14:07
(optional field)
(optional field)
为阻止垃圾广告, 请在提交评论前, 回答一个简单问题(Please answer an simple question)
Remember personal info?
Notify
Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.