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