`

ListCollectionView#addAll发生outOfBounds

    博客分类:
  • Flex
阅读更多
Flexバグ。
FilterFunctionを設定したとき、 ListCollectionView#removeAll()メソッドが除去するのは
listの内容で、localIndexの内容ではありません。この時点で
ListCollectionView#addAll()メソッドを実行すると、ListCollectionViewのlengthはlistのlengthではなく、
localIndexのlengthとなります。そうなると、フィールディング後の件数>=2となれば、
ListCollectionView#addItemAtメソッドが2件目を実行する時、パラメータindexがlengthを超え、
outOfBoundsのエラーが発生します。

解決案:removeAllの前、FilterFunctionをクリアし、addAll後filterの条件に従って
FilterFuntionメソッドを設定する。

var collectionBack:ArrayCollection = new ArrayCollection(collection.toArray());
---------------追加--------------
      if (collection.filterFunction != null) {
        collection.filterFunction = null;
      }
      collection.refresh();
---------------------------------
      collection.removeAll();
      collection.addAll(dpFlatBack);
---------------追加--------------
      collection.filterFunction = filterFunc;
---------------------------------
      collection.refresh();



分享到:
评论

相关推荐

    延迟响应式用户界面的ListCollectionView过滤器更新

    "延迟响应式用户界面的ListCollectionView过滤器更新"是一个关键的主题,它涉及如何在用户输入搜索关键字时实时更新显示的结果,同时保持界面的流畅性和性能。这个主题主要针对C#开发者,特别是使用.NET 3.5框架和...

    Adobe Flash Platform ActionScript Reference RIA Development

    `ArrayCollection` 类扩展了 `ListCollectionView` 类,并实现了 `IExternalizable` 接口。它位于 `mx.collections` 包内,最初来源于Flex框架,并且可以在Flash Player 和 Adobe AIR 中运行。 #### 功能概述 `...

    十二个非常有用的Flex函数Source In Flex

    var bar: ListCollectionView = new ListCollectionView(ac); ``` 这种方式利用了`ListCollectionView`的特性来快速创建一个新视图,从而实现了对原始`ArrayCollection`的高效克隆。 #### 三、打开URL **函数**: ...

    Flex 常用实现小功能的语句

    var bar: ListCollectionView = new ListCollectionView(ListCollectionView(ac).list); ``` 通过这种方式可以将 `ArrayCollection` 转换为 `ListCollectionView` 类型,便于进行更复杂的视图操作。 #### 6. ...

    ActionScript 3 RIA 参考指南!

    例如,`ArrayCollection`是一个类,继承自`ListCollectionView`,实现了`IExternalizable`接口。它属于`mx.collections`包,最初来自Flex框架,在Flash Player和Adobe AIR中运行。 ### 结论 《ActionScript 3 RIA ...

    Flex 有用的几行代码

    var bar:ListCollectionView = new ListCollectionView(ListCollectionView(ac).list); ``` - **知识点说明**:`ArrayCollection` 是 Flex 中用于管理数据集的一个类,它可以方便地处理列表、网格等组件的数据源。...

    控制項的資料繫結技巧 #4 – 階層式資料繫結

    WPF支持通过`ObservableCollection<T>`或`ListCollectionView`等集合类来展示这样的数据。 ### 二、XML介绍 XML(Extensible Markup Language)是一种用于存储和传输结构化数据的语言。它的特点包括: - **可扩展...

    wpf Listbox用collectionview分组展示效果

    接到一个工程要做前台页面,对于我这个刚毕业的小菜鸟来说 画页面或许是个不错的选择 那样可以了解一些机制 不至于那么痴,之前是写后台的 主要是报表方面 所以当我通过自学了WPF前台后 满以为就这样结束了,结果一...

    数据驱动组件.数据驱动组件.

    `dataProvider`是基于数据绑定的,这意味着当数据源中的数据发生变化时,组件会自动反映这些变化。`Repeater`虽然不是正式的组件,但同样利用了数据驱动的概念来创建重复的组件结构。 `dataProvider`的类型转换规则...

    12条有用的flex代码

    - **`ListCollectionView` 类**:另一种数据集合类,用于提供对数据源的只读视图,并支持过滤、排序等功能。 ### 3. 打开新的浏览器窗口 ```as3 navigateToURL(new URLRequest('http://52friends.com'), '_blank')...

    WPF GROUPING

    这通常意味着使用一个实现了`ICollectionView`的类,例如`ListCollectionView`或`ICollectionViewSource`。你可以通过设置`ICollectionView.GroupDescriptions`属性来指定分组规则,这通常涉及到`...

    WPF实现打印

    你可以使用`ListCollectionView`或者`ICollectionView`对列表数据进行分页,并通过`DocumentPaginator`接口将这些分页数据转换为可打印的页面。例如: ```csharp var collectionView = new ListCollectionView(list...

    flex datagrid 分页控件源码

    DataGrid的核心类是`mx.controls.DataGrid`,它使用`mx.collections.ListCollectionView`作为数据模型,该模型可以是任何实现了ICollectionView接口的对象。 2. **分页实现** 分页功能通常通过`mx.controls....

    WPF的数据分页控件

    如果数据源发生改变(例如,添加、删除或修改了记录),PagedCollectionView会自动调整其分页状态,以确保当前页始终显示正确的内容。 7. **性能优化** 为了优化性能,应避免在数据分页时加载不必要的数据。通过...

    flex 端实现分页的两种方法

    2. 数据提供者设置:PagingControl需要一个数据提供者,这个提供者通常是ListCollectionView或ICollectionView类型的对象,它包含了要分页显示的数据。 ```actionscript var dataProvider:ICollectionView = new ...

    flex操作数据的实例

    3. **Collections**:Flex提供了一系列集合类,如ArrayCollection、ListCollectionView等,它们是数据绑定的主要载体。ArrayCollection是基于Array的,但提供了数据绑定所需的额外功能,如事件触发和排序过滤。 4. ...

    mergeableDataGrid

    实现行合并的关键在于理解并操作DataGrid的底层数据模型,通常包括ListCollectionView或ArrayCollection。开发者需要追踪哪些行需要合并,并在渲染时调整相应的数据项和布局。这可能涉及到监听数据源的变化,以及...

    flex 筛选,拖拽删除

    在Flex中,我们可以使用ArrayCollection或ListCollectionView等数据结构来存储和管理应用的数据。为了实现筛选功能,我们可以在用户输入查询条件时,动态地过滤这些集合中的数据。这通常通过监听文本框的change事件...

Global site tag (gtag.js) - Google Analytics