我使用了一个临时数组来填充 ListCollectionView。稍后,我有一个屏幕显示使用 ListCollectionView 作为 dataProvider 的 DataGrid。用户可以通过选择行然后单击删除按钮来删除 DataGrid 中的行。
如何访问 ListCollectionView 使用的原始源,并从那里删除该项目?
在我这样做之后,该项目是否也会自动从 ListCollectionView 中删除,并且不再显示在 DataGrid 中(或者是否需要刷新某些内容)?
更新 1
以下听起来像我在正确的轨道上吗?(我想从 ListCollectionView 的源(是“.list”吗?)中删除它,而不仅仅是从 ListCollectionView 中删除。)
[Bindable] private var _myLCV:ListCollectionView=new ListCollectionView(new ArrayList());
...
var obj:Object = _myLCV.getItemAt(myGrid.grid.selectedIndex); // get item user selected
_myLCV.list.removeItemAt( _myLCV.list.getItemIndex(obj) ); // delete item from source
更新 2
我不确定为什么(我使用的是 SDK 4.5.1A),但我似乎需要在 UPDATE 1 中的上述代码中添加以下代码行,以便 DataGrid 可靠地更新并显示已删除的行:
_myLCV.refresh();