对Flex的DataGrid 中多条不同数据的过滤

今天在做项目中,来了个需求,有两个DataGrid A和B,A中的数据从B取的,然后保存数据库中.下次再修改A中的数据时,A中存在的数据B就不能存在.
原来打算把B遍历一下然后把和A中相同的数据remove掉,但这样做太麻烦,而且太乱.后来查了文档利用ArrayCollecton的filterFunction 属性可以实现过滤,加以改进.就可以一步到位,来处理多个条不同数据的过滤.

B.dataProvider.filterFunction = function(item:Object) : Boolean
{
    var isUnique : Boolean = true;
     for each (var i : SimpleProjectVO in A.dataProvider)
      {
        isUnique = isUnique && (item.id !== i.id);
      }
    	  return isUnique;
}
  B.dataProvider.refresh();
  B.dataProvider = B.dataProvider;


SimpleProjectVO 是VO,是一些属性的载体.example:
public class SimpleProjectVO 
{
    public var id : Number;
    public var projectName : String;
}

你可能感兴趣的:(java,Flex)