flex组件之dataGrid数据刷新问题

在用datagrid的时候,童鞋们可能会遇到这么的一个问题,就是对datagrid进行数据源的更新的时候,datagrid上的数据并不是马上时实地刷新,其实如果要做到时实的更新,注意以下两点就行了:
1.确保你的数据源变量已绑定:如
[Bindable]
var _dataSource:Array;

2.我们先看下2个datagrid组件的刷新函数
   第一个:
   

invalidateList () 方法  

public function invalidateList():void

在下次更新时刷新所有行。
 
    第二个:
validateNow () 方法  

public function validateNow():void

验证并更新此对象的属性和布局,如果需要的话重绘对象。通常只有当脚本执行完毕后,才会处理要求进行大量计算的处理属性。例如,对 width 属性的设置可能会延迟,因为此设置需要重新计算这些对象的子项或父项的宽度。如果脚本多次设置了 width 属性,则延迟处理可防止进行多次处理。此方法允许您手动覆盖此行为。
第一个方法是更新数据的,第二个方法是更新属性和布局的,我们现在要更新数据所以要用到invalidateList().
它的使用方法:
假设你的datagrid实例化名字为dataGridInstance,那么就在此实例化数据更新后的那条语句后面,加上dataGridInstance.invalidateList();
通过以上的2个操作,就能实现当dataGridInstance数据源更新的时候,datagrid时实更新了.                 

你可能感兴趣的:(datagrid)