定义一个实现ICollectionView的类,它可以用作ComboBox或DataGrid的dataProvider(不是内置类)
最近,我研究 对于集合框架,找到 LinkedSet(AS3Commons 集合框架< /a>,它是一个很好的开源框架,用ActionScript编写,但它不能在ComboBox或DataGrid中用作dataProvider,因为只有实现了ICollectionView才能用作dataProvider。所以我想尝试一个实现ICollectionView的类是否可以工作。我知道Flex有内置类实现ICollectionView,但我只想定义一个类而不使用内置类。课程尽可能简单。(能工作就足够了)
recently, I research for the collection framework, and find LinkedSet(AS3Commons collection framework,it is a good opensource framework) written in ActionScript, but it can't use as dataProvider in ComboBox or DataGrid, because only implements ICollectionView can use as dataProvider. So I want to try if a class implements ICollectionView can work or not. I know Flex has build-in class implements ICollectionView, but I only want to define a class not use build-in class. The class as simple as possible.(can work is enough)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在
LinkedSet
上调用toArray
并用实现ICollectionView
的mx.collections.ArrayCollection
包装它,然后将其关闭到ComboBox
。这适用于任何不需要更改底层数据结构的组件。如果您需要通过控件直接更改 Set,并且从数组复制到数组或从数组复制还不够,则需要为
ICollectionView
和IViewCursor
编写自己的实现> 包装 AS3CC 的 ICollection 或您想要的任何其他类。Call
toArray
on yourLinkedSet
and wrap it withmx.collections.ArrayCollection
which implementsICollectionView
, then hand that off to theComboBox
.This works for any component that doesn't need to alter the underlying data structure. If you need to directly alter your Set via the controls, and copying to and from an Array isn't sufficent, you'll need to write your own implementation for
ICollectionView
andIViewCursor
that wrap AS3CC's ICollection or whatever other class as you desire.