- 浏览: 251841 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
15665280578:
[color=red][/color]加executeUpda ...
HQL如何执行update,delete相关的createQuery -
thy_mm:
多谢。
如何取消SVN管理 -
zhys1314:
[url][url][url][url][url][url][ ...
HQL如何执行update,delete相关的createQuery -
demojava:
大哥,你代码不全啊,无法运行啊。。
Away3D Lite:Basic_InteractiveObject -
demojava:
我做了一个demo,发现和你的不一样。
你可以看一下:
htt ...
Away3D Lite:Basic_SceneSetup
CSDN上下载的,该Tree是采用XMLList 绑定数据的
CheckTreeDemoRenderer.as
package com.render { import flash.events.MouseEvent; import flash.xml.*; import mx.collections.*; import mx.controls.CheckBox; import mx.controls.Image; import mx.controls.Tree; import mx.controls.listClasses.*; import mx.controls.treeClasses.*; public class CheckTreeDemoRenderer extends TreeItemRenderer { protected var myImage:Image; private var imageWidth:Number = 6; private var imageHeight:Number = 6; private var inner:String = "com/assets/inner.png"; protected var myCheckBox:CheckBox; static private var STATE_SCHRODINGER:String = "schrodinger"; static private var STATE_CHECKED:String = "checked"; static private var STATE_UNCHECKED:String = "unchecked"; public function CheckTreeDemoRenderer () { super(); mouseEnabled = false; } override protected function createChildren():void { super.createChildren(); myCheckBox = new CheckBox(); myCheckBox.setStyle( "verticalAlign", "middle" ); myCheckBox.addEventListener( MouseEvent.CLICK, checkBoxToggleHandler ); addChild(myCheckBox); myImage = new Image(); myImage.source = inner; myImage.addEventListener( MouseEvent.CLICK, imageToggleHandler ); myImage.setStyle( "verticalAlign", "middle" ); addChild(myImage); } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth, unscaledHeight); if(super.data) { if (super.icon != null) { myCheckBox.x = super.icon.x; myCheckBox.y = super.icon.y; myCheckBox.width = super.icon.width; myCheckBox.height = super.icon.height; super.icon.x = myCheckBox.x + myCheckBox.width ; super.label.x = super.icon.x + super.icon.width; } else { myCheckBox.x = super.label.x; myCheckBox.y = super.label.y; myCheckBox.height = super.label.height; super.label.x = myCheckBox.x + myCheckBox.width + myCheckBox.height; } if (data.@state == STATE_SCHRODINGER) { myImage.x = myCheckBox.x + 4; myImage.y = myCheckBox.y + 4; myImage.width = imageWidth; myImage.height = imageHeight; } else { myImage.x = 0; myImage.y = 0; myImage.width = 0; myImage.height = 0; } } } override public function set data(value:Object):void { super.data = value; setCheckState (myCheckBox, value, value.@state); if(TreeListData(super.listData).item.@type == 'dimension') { setStyle("fontStyle", 'italic'); } else { if (this.parent != null) { var _tree:Tree = Tree(this.parent.parent); _tree.setStyle("defaultLeafIcon", null); } setStyle("fontStyle", 'normal'); } } private function toggleParents (item:Object, tree:Tree, state:String):void { if (item == null) { return; } else { item.@state = state; toggleParents(tree.getParentItem(item), tree, getState (tree, tree.getParentItem(item))); } } private function toggleChildren (item:Object, tree:Tree, state:String):void { if (item == null) { return; } else { item.@state = state; var treeData:ITreeDataDescriptor = tree.dataDescriptor; if (treeData.hasChildren(item)) { var children:ICollectionView = treeData.getChildren (item); var cursor:IViewCursor = children.createCursor(); while (!cursor.afterLast) { toggleChildren(cursor.current, tree, state); cursor.moveNext(); } } } } private function getState(tree:Tree, parent:Object):String { // Alert.show("1"); var noChecks:int = 0; var noCats:int = 0; var noUnChecks:int = 0; if (parent != null) { var treeData:ITreeDataDescriptor = tree.dataDescriptor; var cursor:IViewCursor = treeData.getChildren(parent).createCursor(); while (!cursor.afterLast) { if (cursor.current.@state == STATE_CHECKED) { noChecks++; } else if (cursor.current.@state == STATE_UNCHECKED) { noUnChecks++ } else { noCats++; } cursor.moveNext(); } } if ((noChecks > 0 && noUnChecks > 0) || (noCats > 0)) { return STATE_SCHRODINGER; } else if (noChecks > 0) { return STATE_CHECKED; } else { return STATE_UNCHECKED; } } private function imageToggleHandler(event:MouseEvent):void { myCheckBox.selected = !myCheckBox.selected; checkBoxToggleHandler(event); } private function checkBoxToggleHandler(event:MouseEvent):void { if (data) { var myListData:TreeListData = TreeListData(this.listData); var selectedNode:Object = myListData.item; var tree:Tree = Tree(myListData.owner); var toggle:Boolean = myCheckBox.selected; if (toggle) { toggleChildren(data, tree, STATE_CHECKED); } else { toggleChildren(data, tree, STATE_UNCHECKED); } var parent:Object = tree.getParentItem (data); toggleParents (parent, tree, getState (tree, parent)); tree.parent.dispatchEvent(new TreeCheckBoxEvent(TreeCheckBoxEvent.CHECKBOX_CLICK,false,false,data)); } } private function setCheckState (checkBox:CheckBox, value:Object, state:String):void { if (state == STATE_CHECKED) { checkBox.selected = true; } else if (state == STATE_UNCHECKED) { checkBox.selected = false; } else if (state == STATE_SCHRODINGER) { checkBox.selected = false; } } } }
TreeCheckBoxEvent.as (需要的时候采用)
package com.render { import flash.events.Event; public class TreeCheckBoxEvent extends Event { public static const CHECKBOX_CLICK:String = "checkBoxClick"; private var _data:Object; public function get data():Object{ return this._data; } public function set data(data:Object):void{ this._data = data; } public function TreeCheckBoxEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false,data:Object=null) { if(data != null) this._data = data; super(type, bubbles, cancelable); } } }
CheckTreeDemo.mxml
<?xml version="1.0" encoding="iso-8859-1"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init();" > <mx:Script> <![CDATA[ import com.render.TreeCheckBoxEvent; import mx.collections.*; import mx.controls.Alert; [Bindable] public var folderList:XMLList = <> <folder state="unchecked" label="Marketing Collateral" isBranch="true" > <folder state="unchecked" isBranch="true" label="Media, PR, and Communications" > <folder state="unchecked" isBranch="false" label="Article Reprint Disclaimers" /> <folder state="unchecked" isBranch="false" label="Articles Reprints" /> <folder state="unchecked" isBranch="false" label="Interviews and Transcripts" /> <folder state="unchecked" isBranch="false" label="Press Kits" /> <folder state="unchecked" isBranch="false" label="Press Releases" /> <folder state="unchecked" isBranch="false" label="Quick Hits" /> <folder state="unchecked" isBranch="false" label="Rep Talking Points" /> <folder state="unchecked" isBranch="false" label="Special Updates" /> <folder state="unchecked" isBranch="false" label="White Papers" /> </folder> <folder state="unchecked" isBranch="true" label="Forms and Applications" > <folder state="unchecked" isBranch="false" label="Applications" /> <folder state="checked" isBranch="false" label="Forms" /> </folder> </folder> </>; [Bindable] public var folderCollection:XMLListCollection; private function init() : void { this.addEventListener(TreeCheckBoxEvent.CHECKBOX_CLICK,treeCheckBoxHandler); folderCollection = new XMLListCollection(folderList); checkTree.dataProvider = folderCollection; } private function treeCheckBoxHandler(event:TreeCheckBoxEvent):void{ var tempXml:XML = event.data as XML; Alert.show(tempXml.toXMLString(),""); } private function updataDataGrid():void{ Alert.show(checkTree.selectedItem.@label,""); //在此联动Grid } ]]> </mx:Script> <mx:Tree id="checkTree" itemRenderer="com.render.CheckTreeDemoRenderer" change="updataDataGrid()" labelField="@label" width="100%" height="100%" > </mx:Tree> </mx:Application>
- TreeCheckBox-src.rar (3.6 KB)
- 下载次数: 30
发表评论
-
两个函数停止事件的传播
2010-01-08 23:04 1160stopPropagation (): 防止对事件流中当前 ... -
Flex 控制光标
2009-12-31 13:19 1104官方文档:http://www.adobe.com/cn/de ... -
Flex 拖拽功能实现的几个重要属性和事件
2009-12-31 12:05 2763属性: dragEnabled : Boolean:一个标 ... -
flex 在 chart上加入一条指示线
2009-12-22 19:53 1389原文:http://www.flexer.cn/bbs/vie ... -
ArrayCollection 的深度复制
2009-12-16 17:04 925原文:http://blog.csdn.net/accp_fa ... -
同时显示Line和Column两种Chart
2009-12-15 16:06 1390<mx:LineChart id="linec ... -
Flex 组件属性赋值 小技巧
2009-12-15 10:32 1579如果你需要赋值的组件还未创建完成,可采取以下方法赋值 ... -
便捷的 PopUpButton 组件
2009-12-14 15:13 1317最近才发现有这么好的一个组件。。。 如果你正在对UI界 ... -
Flex List selectedIndices, selectedItems Bug
2009-12-11 16:16 2806发现一个 Flex SDK 的 bug 当 Lis ... -
Tree 的 verticalScrollPosition 属性的应用
2009-12-10 20:28 1343verticalScrollPosition 属性 ... -
TileList 和 CheckBox 之间的数据绑定
2009-12-09 15:44 1088首先建立 一个绑定数据集合 for each (var ... -
List.selectedItems 和 ArrayCollection 之间的转换
2009-12-09 10:39 1432// initLocator.selectedPhase是一个 ... -
outerDocument 的应用
2009-12-08 23:39 1070<mx:VBox width="100%&qu ... -
DateField 的 disabledRanges 属性的使用
2009-12-01 12:39 1370禁用 一天或多天。 此属性接受对象 Array ... -
小结:使用Flex Builder创建一个可分享的应用程序(Flash Platform Services Distribution)
2009-11-26 16:24 9831. 所有的应用程序都必须是已经发布到因特网 中的,本地的程 ... -
mxml 实现 itemRenderer
2009-11-25 15:22 830<mx:TileList dataProvider=&q ... -
List 全选 / 取消全选 功能实现
2009-11-25 14:36 1045private function selectedAllPro ... -
TileList 高度异常问题
2009-11-25 13:50 1095原因:由于高度异常 导致垂直滚动条 的出现 解决途 ... -
Flex Builder 3 代码格式化 Plugin
2009-11-23 15:48 2180原文:http://www.7yue.com/post/243 ... -
Flex 实现 历史管理 和 深度链接
2009-11-17 13:25 1580历史管理: 默认支持历史管理的组件有Accordio ...
相关推荐
纯JS+HTML写的checkBox Tree 级联选中 好用无BUG 1 选上级,自动选下级 2 选下级,自动选上级 在网上找的其他例子,都有BUG,本程程序绝对可用,放心下载!
flex tree+checkbox可实现级联勾选
flex tree+checkbox可实现级联勾选 修改后 修改CheckTreeDemoRenderer.as这个文件中 while (!cursor.afterLast){ if (cursor.current.@state == STATE_CHECKED) { noChecks++; }else if (cursor.current.@state =...
TREELIST(带有CHECKBOX功能) 博文链接:https://myhongkongzhen.iteye.com/blog/382861
jQuery的高性能TreeView源码(带CheckBox) 1:支持静态的树,即一次性将全部数据加载到客户端。 2:异步树,即一次只加载一级或若干级节点,子节点可以异步加载数据。 3:Checkbox树(可能是静态树也可能是异步树...
主要介绍了使用jQuery+EasyUI实现CheckBoxTree的级联选中特效的相关资料,需要的朋友可以参考下
一个简单html页面,实现省市的三级级联选择,根据不同情况可以控制不同展现。
js多级联动多选checkbox插件
jsTree的扩展性很好,能够自行配制,容易上手, 它支持 HTML & JSON 数据 和 AJAX 。是完全免费和开源的。 可以配制成普通的树和带选择框的级联树。
tree { data: data checkbox : true cascadeCheck : false onCheck : function node checked { if checked { var parentNode $ "#menuTrees" tree "getParent" node target ; ...
<div id=searchTree> [removed] var treeData = [{ text: Parent 1, nodes: [{ text: Child 1, nodes: [{ text: Grandchild 1 }, { text: Grandchild 2, nodes: [{ text: Grandchild 2-1, nodes: [{ ...
Jquery高效的对Tree操作 1:支持静态的树,即一次性将全部数据加载到客户端。 2:异步树,即一次只加载一级或若干级节点,子节点可以异步加载数据。 3:Checkbox树(可能是静态树也可能是异步树),用于选择(如...
级联树,checkbox 大数据量,支持多种操作 简单易用
autocomplete自动完成、checkbox多选框、cascader级联选择、datepicker日期选择框、form表单、inputnumber数字输入框、input输入框、mentions提及、rate评分、radio单选框、switch开关、slider滑动输入框、select...
Checkbox 多选框 Input 输入框 InputNumber 计数器 Select 选择器 Cascader 级联选择器 Switch 开关 Slider 滑块 TimePicker 时间选择器 DatePicker 日期选择器 DateTimePicker 日期时间选择器 Upload ...
9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!...
9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!...
9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!...