`

Flex DataGrid 彻底删除某一行

    博客分类:
  • flex
 
阅读更多

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

 

       需求是这样的:

 

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

 

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

 

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

FlexEvent.HIDE 处理逻辑中重置渲染器实例代码 :this.selectedIndex=0;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics