Flex实现树形列表的过滤
项目中用flex实现了一个设备列表,这个设备列表时树形结构的,当用户在输入关键字后,需要按照关键字过滤出符合条件的内容,用flex内部的过滤机制已经不能满足条件,需要自己重新写过滤方法,以下就是我写的过滤方法:
//keywodr 用户输入的关键字
public function filterData(keywodr:String):void
{
//templist是一个XMLList类型的全局变量,用于保存最原始的过滤内容
//unitGroupTree是从后台传入的信息,和树形控件绑定
templist = unitGroupTree.copy();
var xmllist:XMLList = templist;
if(keywodr !="")
{
this.keyword=keywodr;
var myxml:XML=<node/>;
for(var k:int=0;k < xmllist.length();k++)
{
var tempxml:XML=getXML(new XMLList(xmllist[k]));
if(tempxml.children().length() > 0){
myxml.appendChild(tempxml);
}
}
if(myxml.children().length() > 0){
myxml.node.node.@checked = "1";
unitGroupTreeTwo =XMLList(myxml);
unitGrouplist.dataProvider = unitGroupTreeTwo.children();
unitGrouplist.openItems = unitGroupTreeTwo..node;
}
else{
unitGrouplist.dataProvider = null;
}
}
else
{
unitGroupTree = templist.copy();
unitGrouplist.dataProvider = unitGroupTree;
unitGrouplist.openItems = unitGroupTree..node;
}
}
public function getXML(xmllist:XMLList):XML
{
var xmlChildren:XMLList=xmllist.children();
var xml:XML=<node/>;
if(xmllist.hasOwnProperty("@checked")) xml.@checked=xmllist.@checked;
if(xmllist.hasOwnProperty("@name")) xml.@name=xmllist.@name;
if(xmllist.hasOwnProperty("@oid")) xml.@oid=xmllist.@oid;
for(var i:int=0;i<xmlChildren.length();i++)
{
if(xmlChildren[i].children().length()>0)
{
var xmlGet:XML=getXML(new XMLList(xmlChildren[i]));
var tempStr:String=xmlGet.@name;
if((tempStr.toUpperCase().indexOf(this.keyword.toUpperCase())>=0)||xmlGet.children().length() > 0)
{
xml.appendChild(xmlGet);
}
}else
{
var temp:String=xmlChildren[i].@name;
if(temp.toUpperCase().indexOf(this.keyword.toUpperCase())>=0)
{
xml.appendChild(xmlChildren[i]);
}
}
}
return xml;
}
分享到:
相关推荐
flex 可拖动的树形自定义控件,从左选项框拖动到右选项框
Flex实现带复选框的列表树,实现全选和反选
Flex 树形 ComboBox组件,Flex 树形 ComboBox组件,Flex 树形 ComboBox组件
flex自定义的树形结构,展开,收缩,多级目录支持
一个Flex语言写的树形结构代码,小主一直用的,暂未发现BUG,请多多指教!
在FLEX4中开发带有过滤功能的DATAGRID组件
FlexViewer 树形结构带checkbox,勾选checkbox节点调用地图加载点标注
flex JSON 转无限树形加单选框并获得选中子项、
flex复选树形下拉框,在ReportListPage.mxml里面有应用及树数据的加载
包含2个demo 一个是树形多选框,可选中多个选项,并同时显示选中项的内容;一个是动态可伸缩的菜单,点击后弹出菜单,菜单失去焦点后收缩。
flex json转无限树形加单选框并获得选中子项 自动展开
flex制作的树结构的datagrid列表,效果全,下载即可运行
DataGrid实现数据过滤。 输入关键字,对DataGrid中的数据进行筛选过滤
FLEX 动态树 动态图表 FLEX 动态树 动态图表
NULL 博文链接:https://niuyandong1988.iteye.com/blog/2206640
flex4 选择树组件。可以直接使用组件包。在Test.mxml里面有使用的测试。
flex实现的翻书功能的网站漂亮的flex实现swf及源码绝对超值
该实例展示了combobox通过输入进行过滤的数据源的方法,实现环境为flex4,测试通过,希望可以帮到你!
Flex ComBox 下拉树功能例子 以及相关代码
原理就是ArrayCollection的filterFunction的使用。是根据老外一个帖子改的,其他下载地址在 :http://www.zuidaima.com/share/1714555305004032.htm