Apache flex 定义一个实现ICollectionView的类,它可以用作ComboBox或DataGrid';s数据提供程序(非内置类)

Apache flex 定义一个实现ICollectionView的类,它可以用作ComboBox或DataGrid';s数据提供程序(非内置类),apache-flex,actionscript-3,collections,Apache Flex,Actionscript 3,Collections,最近,我对集合框架进行了研究,发现LinkedSet(,它是一个很好的开源框架)是用ActionScript编写的,但它不能在ComboBox或DataGrid中用作数据提供者,因为只有implements ICollectionView可以用作数据提供者。所以我想尝试一下类实现ICollectionView是否可以工作。我知道Flex有内置类实现ICollectionView,但我只想定义一个类,而不是使用内置类。该类尽可能简单。(可以工作就足够了)在链接集上调用toArray,并用mx.co

最近,我对集合框架进行了研究,发现LinkedSet(,它是一个很好的开源框架)是用ActionScript编写的,但它不能在ComboBox或DataGrid中用作数据提供者,因为只有implements ICollectionView可以用作数据提供者。所以我想尝试一下类实现ICollectionView是否可以工作。我知道Flex有内置类实现ICollectionView,但我只想定义一个类,而不是使用内置类。该类尽可能简单。(可以工作就足够了)

链接集上调用
toArray
,并用
mx.collections.ArrayCollection
包装它,它实现了
ICollectionView
,然后将其交给
组合框


这适用于任何不需要改变底层数据结构的组件。如果您需要通过控件直接更改集合,并且在阵列之间进行复制是不够的,您需要为
ICollectionView
IViewCursor
编写自己的实现,它们包装为3CC的ICollection或您想要的任何其他类。

链接集上调用
toArray
,并用实现
ICollectionView
mx.collections.ArrayCollection
包装它,然后将其交给
组合框


这适用于任何不需要改变底层数据结构的组件。如果您需要通过控件直接更改集合,并且在数组中进行复制是不够的,那么您需要为包装为3CC的ICollection或任何您想要的其他类的
ICollectionView
IViewCursor
编写自己的实现。

LinkedSet没有toArray()函数,所以我认为唯一的方法是实现ICollectionView,但我不确定它是否可以在ComboBox中显示,所以您对ICollectionView的实现有什么想法,它可以在ComboBox中工作,正如我所说的,就像possible@jason:LinkedSet确实有一个
toArray
方法@杰森:欢迎来到堆栈溢出。记住,一旦你找到答案,就要“接受”你的答案。这会让其他人知道你的问题已经解决,并奖励帮助你的人。谢谢你提醒我“接受”我的答案。顺便说一下,我再次需要你的帮助。当我使用toArray()转换LinkedSet并用ArrayCollection包装它时,但当我在LinkedSet中添加一项时,我认为我的解决方案不好。我将把这个问题放在另一个问题中,希望你能帮忙,谢谢LinkedSet不需要Array()函数,所以我认为唯一的方法是实现ICollectionView,但我不确定它是否能显示在ComboBox中,所以你对ICollectionView的实现有什么想法,正如我所说的,它可以在ComboBox中工作,简单到possible@jason:LinkedSet确实有一个
toArray
方法@杰森:欢迎来到堆栈溢出。记住,一旦你找到答案,就要“接受”你的答案。这会让其他人知道你的问题已经解决,并奖励帮助你的人。谢谢你提醒我“接受”我的答案。顺便说一下,我再次需要你的帮助。当我使用toArray()转换LinkedSet并用ArrayCollection包装它时,但当我在LinkedSet中添加一项时,我认为我的解决方案不好。我会把这个问题放在另一个问题上,希望你能帮忙,谢谢