我有一个继承自组合框的对象。这样做是为了让我可以使用自定义框架进行创建和设置值,并使用' id' /'描述'为数据提供者设置。当我设置值时,我设置了' id'并且自定义对象查看数据提供者以查找匹配的ID以查找索引。设置值时,我不知道' dscription'这就是行源的用途。
我的问题在于我需要展示“旧”字样。我第一次通过代码设置值时的值,但我不想让用户看到“旧”字样。下拉列表中的值,允许他们选择它。
现在,我一直试图追逐最好的方法来做到这一点。我假设我需要中断下拉数据提供者的创建并用较小的列表填充它(使用我自己的' hideFromDropdown'属性)或者找出是否有办法添加属性到我的dataprovider导致项目不被下拉列表呈现。也许是项目'在下拉列表中有一个可见的属性?
我能够追溯到combobox.getDropdown方法,该方法从dropdownfacrory创建一个新的下拉列表。不幸的是,这是私有的,所以我无法覆盖它以传递部分行源。现在,所有dropdownfacory似乎都返回一个基本列表。不幸的是,我一直迷失跟踪,找到列表中的位置或listbase对象,其中数据提供者中的单个项目被渲染(或不渲染)。我相信我已经跟踪了ListConase中的listContent:ListBaseContentHolder,其中包含了数据,但我不断迷失在模糊中。
我在Adobe Flex Builder 3中使用Flex SDK 3.6A(基于Eclipse引擎构建)
答案 0 :(得分:0)
您可以在dataProvider上使用filterfunction,例如arrayList / arraycollection。查看此处的示例
http://kirill-poletaev.blogspot.com/2011/07/arraycollection-in-flex-part-4.html