首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex DataGrid 彻底剔除某一行

2013-03-04 
FlexDataGrid 彻底删除某一行?????? 说是彻底删除,其实不是的,因为删除DataGrid某一行的时候,据我现在水平

Flex DataGrid 彻底删除某一行

?????? 说是彻底删除,其实不是的,因为删除DataGrid某一行的时候,据我现在水平,只能通过dataProvider来实现。

?

?????? 需求是这样的:

?

????????????? 系统需要做一个自定义组件,页面式的,根据前一个页面的DataGrid选项的值,动态构建下一页的内容。我的DataGrid中用到了渲染器(Combobox),当我在DataGrid中新增一行同时选择下拉列表的某一项,动态更新下一页的对应文本显示。当我删除某一行的时候,下一页的对应控件也要对应的删除。

?

????????????? 问题就出在删除上,当我删除某一行的时候,然后,在datagrid中再点击新增,这是,新的一行出来了,但是显示的是之前删除的一行的内容(从渲染器可以看出来),由于搞不懂datagrid的构建原理,所以,这个问题纠结了很久。经过反复思考,觉得既然渲染器还是使用的前一个实例,那么当我删除dataGrid中的dataProvider中的某一行数据时,是不是flex把这个渲染器实例给隐藏了,然后新增一行数据的时候它又把渲染器实例给显示出来。

?

??????????????沿着这个思路,在渲染器类中找相应的事件,终于找到了两个事件类别,那就是FlexEvent.HIDE 和 FlexEvent.SHOW。在这两个方法中处理渲染器隐藏和渲染器显示的代码。

FlexEvent.HIDE 处理逻辑中删除渲染器实例代码:this.removeChild(this);

??

热点排行