Flex 4.6 XML搜索、匹配示例

效果见图

初始化界面

输入“设置”,进行搜索、匹配后界面

下面是代码 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init(event)"> <fx:Script> <![CDATA[ import mx.events.FlexEvent; import mx.utils.StringUtil; import spark.events.TextOperationEvent;

        public var rawList:XML =
            <apps name="应用程序" >
              <item name="关于"
                    icon="plugins/about_002/assets/icons/about_48.png"
                    iconSmall="plugins/about_002/assets/icons/about_24.png"
                    moduleUrl="plugins/about_002/Ahout_002.swf"
                    version="1.0"  date="2013-5-13"  author="way" type="plugin"
                    description="关于能源管理中心的一个说明" />

             <item name="程序管理"
                    icon="plugins/appManager_001/assets/icons/apps_48.png"
                    iconSmall="plugins/appManager_001/assets/icons/apps_24.png"
                    moduleUrl="plugins/appManager_001/AppManager_001.swf"
                    version="1.0"  date="2013-3-5"  author="way" type="plugin"  resizable="false"
                    description="对系统应用,及用户自定义应用进行管理"
                    shortCutCreated="true"/>

              <item name="导航设置"
                    icon="plugins/navigatorSetting_001/assets/icons/gears_48.png"
                    iconSmall="plugins/navigatorSetting_001/assets/icons/gears_24.png"
                    moduleUrl="plugins/navigatorSetting_001/NavigatorSetting_001.swf"
                    version="1.0"  date="2013-3-13" author="way" type="plugin" resizable="false"
                    description="对导航进行设置"/>
              <item name="主题设置"
                    icon="plugins/themeSetting_001/assets/icons/icon_48.png"
                    iconSmall="plugins/themeSetting_001/assets/icons/icon_24.png"
                    moduleUrl="plugins/themeSetting_001/ThemeSetting_001.swf"
                    version="1.0"  date="2013-3-5" author="way" type="plugin" resizable="false"
                    description="对系统的主题、样式进行设置"/>
            </apps>
            ;     

        [Bindable]
        public var rawListShow:XML = null;  //搜索过滤后的数据

        protected function init(event:FlexEvent):void
        {
            getData();
        }

        protected function textinput1_changeHandler(event:TextOperationEvent):void
        {
            getData();
        }

        //初始化数据
        private function getData():void{
            if(StringUtil.trim(textInput.text) == ""){
                rawListShow = rawList ;

            }else{
                createNewXml(textInput.text,rawList);
            }

            /* 打开或关闭指定项目下的所有树项目。如果设置 dataProvider 之后立即调用 expandChildrenOf(),
            则您可能看不到正确的行为。您应该等待对组件进行验证或调用 validateNow() 方法 */
            tree1.validateNow();

            expandtree();
        }

        //搜索过滤后,生产新的xml
        private function createNewXml(searchString:String, xml:XML):void{
            rawListShow =<apps  name="应用程序" />;

            for(var i:int = 0; i<xml.children().length(); i++)
            {
                var itemXml:XML = xml.child("item")[i];
                if(isInStr(searchString,itemXml.@name.toString())){
                    rawListShow.appendChild(itemXml);
                }
            }
        }

        //判断search_str是否在str内
        public function isInStr(search_str:String , str:String):Boolean{
            var num:int= str.indexOf(search_str);
            if(num>-1){
                return true;
            }else{
                return false;
            }
        }

        //展开树
        private function expandtree():void {
            for each(var item:XML in this.tree1.dataProvider)
            this.tree1.expandChildrenOf(item,true);
        }

    ]]>
</fx:Script>
<fx:Declarations>
    <!-- 该例子由waylau.com提供-->
</fx:Declarations>
<s:TextInput prompt="请输入要搜索的字段"  x="10" y="10"
             change="textinput1_changeHandler(event)" id="textInput"/>
<mx:Tree id="tree1" dataProvider="{rawListShow}"
         labelField="@name" width="200" height="300" x="10" y="40">
</mx:Tree>

<s:Label text="更多例子 请关注  waylau.com" x="10" y="360"/>
</s:Application>
时间: 2024-07-29 02:30:00

Flex 4.6 XML搜索、匹配示例的相关文章

asp.net递归生成XML树的示例

asp.net|xml|生成xml|示例|递归 asp.net递归生成XML树的示例 代码: 以下是引用片段://CDepartmentInfo 类别实体类 //sjid :与大类别关联ID //space:只是一个标记 //strOpinion用来存放类名 string sjid = "0"; string space = "+"; string strOpinion = ""; string paths = @"E:\test&qu

使用Digester解析XML文档示例

xml|示例 一. 概述 解析XML文档方面有不少的方法,也有不少的工具包可用,这里介绍的是来自Apache Jakarta的Digester,使用其解析XML文件非常方便而不需要过多的关心底层的具体解析过程. Digester最早出现在Struts中,后来随着Struts的发展以及其的公用性而被提到commens中独自立项,其底层实现的是SAX解析.当前版本为:1.5 二. 正文 1. 安装与配置 使用Digester需要如下几个软件包: Digester ,BeanUtils, Collec

asp.net操作xml增删改示例分享

 这篇文章主要介绍了asp.net操作xml增删改示例,需要的朋友可以参考下   代码如下: using System;  using System.Collections;  using System.ComponentModel;  using System.Data;  using System.Drawing;  using System.Web;  using System.Web.SessionState;  using System.Web.UI;  using System.We

剖析搜索匹配 也谈淘宝SEO

中介交易 SEO诊断 淘宝客 云主机 技术大厅 前两天看到A5的淘宝SEO培训班开班了,想想开淘宝店的朋友如此之多,也想想自己在淘宝也摸爬滚打了好长时间,对于淘宝SEO,有些心得我想在这里给大家分享一下. 早年开淘宝的现在都发了财,当初那个开着旺旺就有生意的时代已经过去了.到了2012年,淘宝在经过数次变革之后,现在的开店压力越来越大.周围不少朋友也开过淘宝店,刚开始是激情万丈,装修.上传宝贝.店铺推广等等做个不亦乐乎.但一个月过去了一笔生意都没有,最后就悄声无息的放在那懒得管了.其实包括我自己

php+ajax实时输入自动搜索匹配的方法_php技巧

本文实例讲述了php+ajax实输入自动搜索匹配的方法分享给大家供大家参考.具体分析如下: 第一种方法利用了jquery autocomplete,第二种使用了jquery ajax,其实两个都差不多. 最简单的办法我们就是直接使用jquery autocomplete方法了,如下在实例. html中,代码如下: 复制代码 代码如下: <script src="/js/v2/jquery.input_complete.js" type="text/javascript&

C#实现XML搜索

问题描述 要实现对XML数据的搜索.最终有点像google一样.有谁会啊?必重谢!!! 解决方案 解决方案二:把XML当作文本处理可以么?解决方案三:XML有xPath和xQuery的东东的解决方案四:stringmyfind="ANTON";stingmyfindstring="path1/path2[path3="+'"'+myfind+'"'+"]";xmlnodemynode=myxmldoc.selectsingle

visual studio-vs2013 用正则搜索 匹配的地方没有黄色背景显示?能设置么

问题描述 vs2013 用正则搜索 匹配的地方没有黄色背景显示?能设置么 如题 不用正则搜索都有黄色的背景显示匹配项 正则搜索我记得在公司也有黄色背景的 怎么在家木有.. 在哪里设置 解决方案 你确认找到了么?是不是你正则没用对根本没找到? 解决方案二: 这个跟普通搜索应该是一样背景色.只是匹配方式不一样.

asp.net搜索匹配关键字为红色显示的代码

asp.net|搜索|显示|关键字|匹配 首先创建类库 Model (业务实体层),创建类: NewDina.CS 用于获取数据库相应字段名, Demo如下: [Copy to clipboard] [ - ]CODE:     public class NewDina    {        #region Fields        private string _news_Title = String.Empty;        private string _news_Content =

jquery解析xml字符串简单示例

 这篇文章主要介绍了jquery解析xml字符串示例,需要的朋友可以参考下 代码如下: var $xml = $("<aa><bb para="bbpara">bbtext</bb> <cc> cctext </cc><cc>789798</cc>aatext</aa>"); function log(o){  $("textarea").val($(