Flex 写一个方法去除拖拽树的重复值
现在又一个拖拽树,如果dataGrid里和树中有相同的元素,则不能插入树中,这个方法具体怎么写,我的思路是://1.获得树当前的元素//2.获得dataGrid当前拖拽的...
现在又一个拖拽树,如果dataGrid里和树中有相同的元素,则不能插入树中,这个方法具体怎么写,我的思路是://1.获得树当前的元素//2.获得dataGrid当前拖拽的元素 //3.比较树当前的元素是否有与datagrid中拖拽的元素相同的,如果没有就将元素插入树中,如果有就提示不能插入重复值,不能插入重复值
展开
1个回答
2013-07-10
展开全部
这个是我自己写的,有问题可以问我! //当在拖放目标控件中释放鼠标时,将拖放数据加入到列表中.
//由于树形控件的数据类型为"treeItems".列表控件的类型为"item",所以不能直接接受拖放,只能
//将需要的数据从dragSource中取出.重新插入到列表控件中
private function doDragDrop(event:DragEvent):void{
XML.ignoreWhitespace = true;
//获得DragSource中""treeItems"类型的数据
var s:Array = event.dragSource.dataForFormat("treeItems") as Array;
var listArray:ArrayCollection = this.F_AREAS_LIST.dataProvider as ArrayCollection;
for (var i:int=0; i < s.length; i++){
//取出数据中的label标签内容
var x:XML=s[i] as XML;
var l:String=x.@label;
//插入到列表控件中
if(!listArray.length<1){
//如果List中存在与当前目标所相同的值,则返回
for(var j:int=0;j<listArray.length;j++){
if(listArray[j] == l){
return;
}
}
}
F_AREAS_LIST.dataProvider.addItem(l);
}
}
//由于树形控件的数据类型为"treeItems".列表控件的类型为"item",所以不能直接接受拖放,只能
//将需要的数据从dragSource中取出.重新插入到列表控件中
private function doDragDrop(event:DragEvent):void{
XML.ignoreWhitespace = true;
//获得DragSource中""treeItems"类型的数据
var s:Array = event.dragSource.dataForFormat("treeItems") as Array;
var listArray:ArrayCollection = this.F_AREAS_LIST.dataProvider as ArrayCollection;
for (var i:int=0; i < s.length; i++){
//取出数据中的label标签内容
var x:XML=s[i] as XML;
var l:String=x.@label;
//插入到列表控件中
if(!listArray.length<1){
//如果List中存在与当前目标所相同的值,则返回
for(var j:int=0;j<listArray.length;j++){
if(listArray[j] == l){
return;
}
}
}
F_AREAS_LIST.dataProvider.addItem(l);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询