flex datagrid 渲染器添加删除bug解决
新增或者删除时会发现datagrid的bug,尤其是用渲染器的时候,bug特别明显。
1、解决办法是重新指定数据源,重新指定列,即:
grid.dataProvider=datalist
grid.columns=columns(数组,存放DataGridColumn集合)
2、如果用到输入数据的话,通常的解决办法是在render渲染器的creationCompletion 方法 和 show 方法中把当前render的数据到添加到一个数据集合,当render的数据变化时更新数据集合中对应的数据。特别注意的时,如果涉及到删除,datagrid的bug会把当前行之后的数据搞的乱七八糟,这就要在render的hide方法中把用户输入的数据清空。
this.addEventListener(FlexEvent.CREATION_COMPLETE,getDefaultSelectedOption);
this.addEventListener(FlexEvent.HIDE,handleHidden);
this.addEventListener(FlexEvent.SHOW,handleShow);
3、最后,需要结合第一步动态的在render初始化时从数据集合中读取对应的数据并赋值
原文链接:http://www.software8.co/webqd/flex/3316.html