flex学习 ------- 复写treeItemrenderer 给树形菜单加复选框

2023-11-14

         项目中菜单树+复选框的需求,以为像平常的list控件加个itemrender就可以搞定,谁知道不是那么回事。果断baidu。看到有大神写过,果断看tree的源码,发现:

         tree在构造函数中已经默认设置了一个itemrnederer。而且它的itemrenderer和其它的不太一样,包含三个部分:1. 打开/关闭按钮  2. 文件夹图标 3.文本框

         解决方案:

        复写tree的itemrender,源码如下:

        

package com.csms.view.renderers.design
{
	import com.csms.model.vo.DrawingtypeVo;
	
	import flash.events.Event;
	
	import mx.binding.utils.BindingUtils;
	import mx.collections.ArrayCollection;
	import mx.controls.CheckBox;
	import mx.controls.Tree;
	import mx.controls.treeClasses.TreeItemRenderer;
	import mx.controls.treeClasses.TreeListData;
	
	public class TreeCheckBoxRenderer extends TreeItemRenderer    
	{    
		public function TreeCheckBoxRenderer()    
		{    
			super();    
		}    
		
		
		private var _selectedField:String = "selected";    
		
		protected var checkBox:CheckBox;    
		
		
		override protected function createChildren():void   
		{    
			super.createChildren();    
			if(!checkBox){
				checkBox = new CheckBox();    
				addChild( checkBox );    
				checkBox.addEventListener(Event.CHANGE, changeHandler);    
			}
		}    
		
		/**
		 * 复选框变化事件,绑定子级
		 * */
		protected function changeHandler( event:Event ):void   
		{    
			trace(checkBox.selected);
			if( data && data[_selectedField] != undefined )    
			{   
				data[_selectedField] = checkBox.selected;
				trace("data[_selectedField]" +  checkBox.selected);
				bindChilren(data as DrawingtypeVo);
			}    
		}     
		
		
		/**
		 * 复选框变化,改变数据源后,调用此方法,绑定父级
		 * */
		override protected function commitProperties():void   
		{   
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

flex学习 ------- 复写treeItemrenderer 给树形菜单加复选框 的相关文章

  • 尝试在 C# 中的字符串中的字符之间添加空格

    我正在尝试在 c 中的字符串中的字符之间添加空格 任何建议将非常感激 谢谢 using System namespace nameReverser class Program public static void Main string a
  • Python导入Django管理命令的问题

    不管出于什么原因 当我刚接触 Python 和 Django 时 我在 models py 文件的顶部编写了一些像这样的导入语句 from django contrib import auth 我会这样使用它 class MyModel m
  • Perl 使用什么哈希函数/算法?

    有人能解释一下 Perl 用于将字符串映射到索引的哈希函数 算法吗 有相关读物吗 这个答案早于 5 28 中进行的哈希函数更改 请参阅 默认哈希函数更改 perldelta 为 5 28 http perldoc perl org perl
  • 连接字符串列中的唯一字符

    我有一个 data frame 其中有一个字符串列 city 它由用 分隔的连接字母组成 dt data frame id letters 1 6 city c A B B D A D G A C F G C D dt id city 1
  • python中unicode字符串到ascii字符串的近似转换

    不知道这是否微不足道 但我需要将 unicode 字符串转换为 ascii 字符串 并且我不希望周围有所有这些转义字符 我的意思是 是否有可能 近似 转换为一些非常相似的 ascii 字符 例如 Gavin O Connor 转换为 Gav
  • 如何从 php 中的值数组中对特定字符串进行排序?

    array array 2011 September 38 2011 June 4 2010 November 9 2011 November 29 2010 December 19 我想按如下方式对这个数组字符串进行排序 它应该首先对年份
  • 点分隔的字符串资源名称有什么用?

    我使用 Snake style 来命名字符串资源 在某人的代码中 我发现了另一种带有点的符号 我无法找到关于这个主题的任何单词
  • 如何使用C来限制SubString、Limit? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 第1节 include
  • 在 Ruby 中,如何生成一长串重复文本?

    在 ruby 中快速生成长字符串的最佳方法是什么 这有效 但速度非常慢 str length 100000 1 length each i str 0 我还注意到 创建一个适当长度的字符串 然后将其附加到现有字符串直至所需的长度 速度会更快
  • 如何根据数字/非数字分割字符串(使用正则表达式?)

    我想在 python 中将一个字符串拆分为一个列表 具体取决于数字 而不是数字 例如 5 55 6 5 应该返回 5 55 6 5 我目前有一些代码循环遍历字符串中的字符并使用 re match d 或 D 测试它们 我想知道是否有更好的方
  • 如何通过j2me api解析包含负数的字符串?

    我有一个带有数字的字符串 我必须解析这个字符串并将这些数字存储在 int float 等中 相应地 String str 100 2 0 100 19 99 0 我可以这样做Integer parseInt and Float parseF
  • 将 CSS 导入 HTML 不起作用

    我正在尝试将 CSS 文件 import 导入 HTML 但它不起作用 我确实尝试过链接路径 但它也不起作用 但这种格式似乎工作为 http U5 L ttJS http 127 0 0 1 54149 assets pages U5 JS
  • C# 如何比较两个字符串并指出哪些部分不同

    例如 如果我有 string a personil string b personal 我想得到 string c person i l 然而 它不一定是单个字符 我也可以这样 string a disfuncshunal string b
  • 这些比较应该返回什么?

    我有一个使用 string compare string string 对某些值进行排序的应用程序 我不明白的是为什么 1022 比较小于 10 23 而 10 23 比较小于 1024 是否有特定于 值的东西导致了这个结果 string
  • 解析日期字符串

    我在 post 变量中有这个字符串 03 21 2011 我需要通过php解析它并将其转换成这种格式 2011 03 21 我正在使用 php 我需要这种格式 以便我可以运行此查询 SELECT prospect as Prospect c
  • Javascript:typeof表示“函数”,但它不能作为函数调用

    这次我对 Javascript 真的很困惑 var x Array prototype concat call typeof x function x Uncaught TypeError x is not a function 这里到底发
  • 根据多个分隔符拆分字符串

    我试图通过引用根据多个分隔符分割字符串jquery中如何用多个字符串作为分隔符分割一个字符串 https stackoverflow com questions 13867182 how split a string in jquery w
  • 关于Java中trim()方法的查询

    我之前提出了一个问题 但遭到了严厉的批评 所以我在这里再次提出 更简单 并重新措辞以吸引那些可能担心我之前提出问题的方式的人 背景 我正在解析一些 HTML 以获取信息 我将所有内容隔离在一系列行中 但我希望抓取的内容以及后面的一堆空格 为
  • 在 Swift 中将函数作为参数传递

    在 iOS 8 中 我的以下功能按我的预期工作 func showConfirmBox msg String title String firstBtnStr String secondBtnStr String caller UIView
  • 在 Python 中删除表达式树及其每个子表达式树中第一个元素周围的括号

    目标是实现简化操作 删除表达式树及其每个子表达式树中第一个元素周围的括号 其中表达式作为括在各个括号中的字符串输入给出 这必须适用于任意数量的括号 例如 12 3 45 6 gt 123 45 6 删除 12 周围的括号 然后删除 45 周

随机推荐

  • DDL和DML常用语句总结

    DDL语句 常用来操作数据库 数据库表 用到的语句 create show alter drop 1 操作数据库 CRUD 1 C Create 创建 创建数据库 create database 数据库名称 创建数据库 判断不存在 再创建
  • 前端页面性能优化 - 字体加载优化

    相比于英文的字库来说 中文字库的体积非常之大 小则1M 动辄几十 M 的体积非常常见 所以在前端页面性能优化中 字体加载的优化就显得尤为重要 阅读了相关的知识和文章 在研究了市面上字体加载方案之后 我总结出了目前可行的方案 1 font s
  • 实对称矩阵的特征值求法_机器学习与线性代数 - 特殊矩阵

    在线性代数中 有一些特殊的矩阵具有易于分析和操作的特性 它们的特征向量可能具有特定的特征值或特殊关系 还有一些方法可以将一个矩阵分解成这些 更简单 的矩阵 操作复杂性的降低提高了可伸缩性 然而 即使这些矩阵都是特殊的 它们也不是罕见的 在机
  • linux创建文件软连接和硬链接详解

    前言 linux系统中链接文件仔细区分可以分为软连接 符号链接 和硬链接 软链接比硬链接应用更广泛 所以也可以认为linux链接文件就是指软链接文件 本文将会在第2部分介绍创建软链接和硬链接的基本命令 在第3部分从linux文件系统的角度出
  • 联合体union在立体几何中的妙用

    联合体union在立体几何中的妙用 为了更好地理解三维游戏编程 我开始研究了立体几何 注意 是立体解析几何 里面涉及到了很多元组 向量和矩阵的知识 虽然还有
  • 编写一个密码类,其中包含一个 str 密码字符串私有成员数据,一个“==”运算 符重载成员函数,用于比较用户输入的密码是否正确。并用数据测试该类。

    define CRT SECURE NO WARNINGS 编写一个密码类 其中包含一个 str 密码字符串私有成员数据 一个 运算 符重载成员函数 用于比较用户输入的密码是否正确 并用数据测试该类 include
  • [Python人工智能] 七.加速神经网络、激励函数和过拟合

    从本系列文章开始 作者正式开始研究Python深度学习 神经网络及人工智能相关知识 前六篇文章讲解了神经网络基础概念 Theano库的安装过程及基础用法 theano实现回归神经网络 theano实现分类神经网络 theano正规化处理 这
  • PTA L1-058 6翻了(详解)

    前言 内容包括 题目 代码实现 大致思路 代码解读 题目 666 是一种网络用语 大概是表示某人很厉害 我们很佩服的意思 最近又衍生出另一个数字 9 意思是 6翻了 实在太厉害的意思 如果你以为这就是厉害的最高境界 那就错啦 目前的最高境界
  • 【运维知识基础篇】Linux定时任务

    今天给大家介绍下linux定时任务 定时任务无非就是在什么时间干什么命令 首先大家要知道文件怎么配置 定时任务一般用root执行 这里介绍crond crontab crontab e 用户定时任务 var spool cron root
  • 2021-06-18 mysql8.0数据库常用操作语句总结

    net start mysql启动MySQL的服务了 net stop mysql停止服务 sc delete MySQL mysqld remove卸载 MySQL 服务 创建新用户 CREATE USER 用户名 host名称 IDEN
  • STL中迭代器的问题

    STL中的容器迭代器 在容器的学习过程中 使用迭代器跳转插入 做了个简单测试 void test 指定位置插入 index使用迭代器 list
  • c++中如何只保留float型的小数点后两位

    float spd 22 518744 char buf 10 sprintf buf 2f spd sscanf buf f spd 记录一下 有时候我们需要float类型只保留两个有效小数 但是在实际应用中会发现一些现象 如 1 5 在
  • 这个 17 岁的黑客天才,破解了第一代 iPhone!

    关注 星标公众号 直达精彩内容 时间来到2007年 第一代的ipone问世惊艳了世人 重新定义了智能手机 但第一代的iPhone也有让人恼火的地方 当时的iPhone和AT T 当时美国最大的移动运营商 签了五年的独家运营协议 使得网络只局
  • redmine Email delivery error: Net::ReadTimeout

    好吧 创建一个redmine 在配置邮件的时候sendmail 可以通过 smtp 25端口可以通过 但使用SSL465 端口说什么也过不去 报错Email delivery error Net ReadTimeout 找样例找不到 有关于
  • 支付宝支付整体流程,包括验签【同步】【异步】

    一 前期准备 1 支付宝开放平台沙箱账号 用于测试 应用公钥需要使用支付宝第三方工具生成 最好在本地备份好 公钥以及配对的密钥 2 javasdk的maven仓库 javasdk 3 内网穿透 使内网能够被 支付宝的服务器访问 支付成功后支
  • java中常见异常

    为了以后方便查阅 特将java中常见异常记录下来 java lang ArithmeticException 算术条件异常 譬如 整数除零等 java lang ArrayIndexOutOfBoundsException 数组索引越界异常
  • Lego-LOAM IMU坐标系变换的详细记录

    Lego LOAM IMU坐标系变换的详细记录 0 基础知识 1 IMU 重力加速度消除 2 相机坐标系 camera 到初始坐标系 camera init 的转换 最近看了Lego LOAM 的IMU部分 没看懂IMU的坐标系变换 看其它
  • Spring源码分析六:bean的创建④ - createBeanInstance

    文章目录 一 前言 二 createBeanInstance 概述 三 createBeanInstance 详解 1 调用 Supplier 接口 obtainFromSupplier 2 使用 factory method 属性 ins
  • php uncaught thrown,PHP异常详解

    PHP的异常是什么 PHP 5 提供了一种新的面向对象的错误处理方法 异常处理用于在指定的错误 异常 情况发生时改变脚本的正常流程 这种情况称为异常 一般使用方法 php this gt getMessage is not a valid
  • flex学习 ------- 复写treeItemrenderer 给树形菜单加复选框

    项目中菜单树 复选框的需求 以为像平常的list控件加个itemrender就可以搞定 谁知道不是那么回事 果断baidu 看到有大神写过 果断看tree的源码 发现 tree在构造函数中已经默认设置了一个itemrnederer 而且它的