Flex tree基于数据库的数据源

最近在研究flex,关于flex tree基于数据库数据的网上的例子基本没有,大部分都是基 于xml的对xml的操作实现tree的改变,通过改变数据库数据实现tree的改变例子没有找到, 所以分享给大家一个例子:

我是用hessian实现flex端与java端通讯的

1.flex端代码

Java代码

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
         layout="absolute"
         verticalAlign="middle"
         backgroundColor="white" creationComplete="init();">
   <mx:Script>
     <![CDATA[
     import hessian.service.FlexTestService;
     import mx.collections.ICollectionView;
     import mx.collections.XMLListCollection;
     import mx.controls.Alert;
     import mx.controls.Tree;
     import mx.events.ListEvent;
     import mx.rpc.events.ResultEvent;
     import mx.managers.PopUpManager;

     var noteId:String;

     //初始化从数据库中获得tree
     private function init():void {
       getTree();
     }
     //监听tree item的click事件
     private function tree_itemClick(evt:ListEvent):void {
       var item:Object = Tree(evt.currentTarget).selectedItem;
       if (tree.dataDescriptor.isBranch(item)) {
         tree.expandItem(item, !tree.isItemOpen(item), true);
       }
     }
     //tree的item有子节点的显示(子节点个数) 
     private function tree_labelFunc(item:XML):String {
       var children:ICollectionView;
       var suffix:String = "";
       if (tree.dataDescriptor.isBranch(item)) {
         children = tree.dataDescriptor.getChildren(item);
         suffix = " (" + children.length + ")";
       }
       return item[tree.labelField] + suffix;
     }

     [Bindable]
     public var selectedNode:XML;
     //当tree发生change事件时的事件
     public function treeChanged(event:Event):void {
       //将选中的节点转换成xml,赋予selectedNode,as为转换类型
       selectedNode = Tree(event.target).selectedItem as XML;
       noteId = selectedNode.@sid;
     }
     //获得tree的方法
     public function getTree():void {
       //构造service时指定回调方法名称 
       var service:FlexTestService = new FlexTestService(result);
       service.getTree();
     }

     var returnString:String;
     var treeDate:XML

     //回调方法
     public function result(data:Object):void {
       //java端返回的数据转化成String类型
       returnString = data as String;
       //利用returnString构造一个xml
       treeDate = new XML(returnString);
       //把构造的xml文件绑定到tree上 
       tree.dataProvider = treeDate;
     }
     //删除某一节点
     public function delNote():void {
       var service:FlexTestService = new FlexTestService(result);
       service.delNote(noteId);
     }
     //增加一个节点
     public function addNote():void {
       var service:FlexTestService = new FlexTestService(result);
       service.addNote(noteId, nodeName.text);
     }
     //重命名节点
     public function updateNote():void {
       var service:FlexTestService = new FlexTestService(result);
       service.updateNote(noteId, nodeName.text);
     }
     ]]>
   </mx:Script>

   <mx:Tree id="tree"
        showRoot="false"
        labelField="@label"
        labelFunction="tree_labelFunc"
        width="258"
        rowCount="6"
        itemClick="tree_itemClick(event);" x="301" y="205"  height="208" change="treeChanged(event);"/>
   <mx:Button width="98" height="31" click="addNote();" x="374" y="440"  label="添加" fontSize="16"/>
   <mx:Button width="98" height="31" click="updateNote();" x="374" y="482"  label="修改" fontSize="16"/>
   <mx:Button width="98" height="31" click="delNote();" x="374" y="521"  label="删除" fontSize="16"/>
   <mx:TextArea text="您选择的节点: {selectedNode.@label}" x="576" y="207"  height="206" width="261"/>
   <mx:Text x="576" y="482" text="节点名称" fontSize="14"  fontWeight="bold"/>
   <mx:TextInput id="nodeName" x="660" y="479" fontSize="16"/>
</mx:Application>

时间: 2024-12-01 19:11:16

Flex tree基于数据库的数据源的相关文章

通向架构师的道路(第六天)之漫谈基于数据库的权限系统的设计

一.权限系统 这一天将讲述一个基本的基于数据库的权限管理系统的设计,在这一天的课程的最后将讲述"左右值无限分类实现算法"如何来优化"系统菜单"的结构而告终.今天的内容和前几天的基础框架是一样的它们都属于基础知识,在这些基础知识上还可以扩展出无数的变种与进化设计. 二.先来看客户的一个需求 2.1用户实际需求 1.       所有的用户.角色可动态配置 2.       所有的系统菜单的权限要求具体到"增,删,改.查.打印.导出"这样的小权限的设

Yale CAS + .net Client 实现 SSO(4)--实现基于数据库的身份验证

原文地址:http://www.cnblogs.com/zhenyulu/archive/2013/01/26/2878271.html 第一部分:安装配置 Tomcat 第二部分:安装配置 CAS 第三部分:实现 ASP.NET WebForm Client 第四部分:实现基于数据库的身份验证 第五部分:扩展基于数据库的身份验证 第六部分:自定义登录页面 第四部分:实现基于数据库的身份验证 1.下载 Microsoft JDBC Driver for SQL Server. (1)Micros

基于数据库动态生成树形目录

动态|数据|数据库 一. 目录树的广泛应用 为了这段内容,在百度上搜了搜,内容一大通,相关的竟没有.搜什么搜嘛?用处不是明摆着吗?资源管理器文件夹的管理,论坛中多级论坛的管理,JAVA中的AWT正是缺乏包括树形目录这样的组件才用处受限......谁这么没礼貌,一点面子都不给,叫我怎么讲下去?清了清嗓子: 在我们项目中常常会出现自关联的数据表,从整体看去,整个表就呈现为一个树形数据结构.当我们对这个表进行显示.编辑时,如果不采用好的表现形式,会显得很笨拙,采用树形目录进行管理显然是一个不错的主意.

基于数据库、OLE及VBA技术的《计算机文化基础》集成考试系统

数据|数据库         基于数据库.OLE及VBA技术的<计算机文化基础>集成考试系统            陈克力      内容提要:本文介绍了在VB中利用数据库技术.对象链接技术(OLE)及VBA编程开发的集成考试系统,从而实现在<计算机文化基础>课中对理论知识与操作技能进行无纸化考试与自动阅卷.    关键词:数据库 OLE VBA 无纸化考试                         一. 问题提出     <计算机文化基础>是非计算机专业都要开设

通向架构师的道路 第六天 漫谈基于数据库的权限系统的设计

一.权限系统 这一天将讲述一个基本的基于数据库的权限管理系统的设计,在这一天的课程的最后将讲述"左右值无限分类实现算法"如 何来优化"系统菜单"的结构而告终.今天的内容和前几天的基础框架是一样的它们都属于基础知识,在这些基础知识上还可以 扩展出无数的变种与进化设计. 二.先来看客户的一个需求 2.1 用户实际需求 1. 所有的用户.角色可动态配置 2. 所有的系统菜单的权限要求具体到"增,删,改.查.打印.导出"这样的小权 限的设计 3. 所有的

在JBoss中配置多个数据库和数据源

JBoss是一款非常强大的J2EE应用程序服务器,但是这种强大的功能也带来了复杂性.本文作者Marcus Zarra分析了如何在JBoss中配置多个数据库以及数据源. 配置数据源 JBoss的默认安装过程总共有三种配置选项:所有的(all).默认的(default)和最小的(minimal).如果你第一次启动JBoss服务器的时候没有附带任何参数,它自然就运行了默认配置.如果需要运行其它的配置,就必须使用-C参数运行启动脚本,如下所示: ${JBOSS.ROOT}/bin/run.sh -c m

简化基于数据库的DotNet应用程序开发

分析 要做一个基于数据库的应用程序,我们有大量的重复劳动要去做,建表,写增 删改查的SQL语句,写与数据库表对应的实体类,写执行SQL的c#代码,写添加. 修改.列表.详细页面等等.这些活动都是围绕着一个个都数据表来开展的, 在.NET领域有很多的OR Mapping的方案,但好多方案用起来好用,但原理很复杂 ,而且性能也不好把握,所以我们可以做一个轻型的ORM方案.有了ORM框架,根 据数据表写c#实体类这些劳动,其实也可以写一个代码生成器来帮我们生成,甚 至代码生成器还能帮我们生成一些界面的

sql2005-为什么DreaweaverCS4中链接数据库是数据源名称不能选择

问题描述 为什么DreaweaverCS4中链接数据库是数据源名称不能选择 想用DreaweaverCS4链接SQL2005IIS和数据源(ODBC)都已经设置好了,但是在DreaweaverCS4链接数据库是,数据源名称下来菜单什么也没有,选择"定义"之后也没反应,求帮助,谢谢啦 解决方案 就是这样

求些关于数据库,数据源,dataservice,Calcite通俗点的理解。

问题描述 求些关于数据库,数据源,dataservice,Calcite通俗点的理解. 学习开发不久,遇到些问题想不明白.或许是我比较死板. 比如,在不使用框架的时候,我们用className...conn...等等,获取数据库连接. 我们用sql语句就能从数据库中获取数据.在框架中,却出现了数据源连接池这样的概念. 问题1:我们在用className...conn...这类方式获取连接时,数据源,连接池分别在哪? 问题2:数据源与连接池的作用:在sql请求发送到数据库中,这些东西起了怎样的作用