如何让Flex的Tree显示水平滚动条

论坛 一直有人问为何设置了twaver.controls.Tree的horizontalScrollPolicy为 ScrollPolicy.AUTO,可是还是没有横向滚动条。这是由于Adobe出于性能的考虑,没有计算maxHorizontalScrollPosition的值。本文贴出了解决方案,效果如下:


 

从原始Tree继承出新的类AutoSizeTree:

package {
	import flash.events.Event;

	import mx.core.ScrollPolicy;
	import mx.core.mx_internal;

	import twaver.DataBox;
	import twaver.controls.Tree;

	public class AutoSizeTree extends Tree {
		public function AutoSizeTree(dataBox:DataBox=null) {
			super(dataBox);
			horizontalScrollPolicy = ScrollPolicy.AUTO;
		}

		override public function get maxHorizontalScrollPosition():Number {
			if (isNaN(mx_internal::_maxHorizontalScrollPosition))
				return 0;

			return mx_internal::_maxHorizontalScrollPosition;
		}

		override public function set maxHorizontalScrollPosition(value:Number):void {
			mx_internal::_maxHorizontalScrollPosition = value;
			dispatchEvent(new Event("maxHorizontalScrollPositionChanged"));

			scrollAreaChanged = true;
			invalidateDisplayList();
		}

		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
			var diffWidth:Number = measureWidthOfItems(0,0) - (unscaledWidth - viewMetrics.left - viewMetrics.right);

			if (diffWidth <= 0)
				maxHorizontalScrollPosition = NaN;
			else
				maxHorizontalScrollPosition = diffWidth;

			super.updateDisplayList(unscaledWidth, unscaledHeight);
		}
	}
}

测试代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				xmlns:tw="http://www.servasoftware.com/2009/twaver/flex"
				applicationComplete="init()" xmlns:local="*">
	<mx:Script>
		<![CDATA[
			import twaver.*;

			private function init():void {
				var box:ElementBox = new ElementBox();

				var group:Group = new Group();
				group.name = "Group";
				box.add(group);

				for(var i:int=0; i<20; i++){
					var node:Node = new Node();
					node.name = "Node with long long long long long long name " + Utils.randomInt(10000000);
					group.addChild(node);
					box.add(node);
				}

				tree.dataBox = box;
				tree.callLater2(function():void {
					tree.expandAll();
				});
			}
		]]>
	</mx:Script>
	<local:AutoSizeTree id="tree" width="300" height="100%"/>
</mx:Application>

如果您数据量少,性能不是大问题,不妨试一试,完整工程代码见附件:TestAutoSizeTree

 

 

 

 

 

 

 

 

2023年全国城市房价分布网格数据 本文介绍了一份2023年全国主要城市房价分布的网格数据,数据以250米×250米的网格为单位,记录了住宅小区数量、均价、最高价和最低价等信息。数据采用GCJ-02坐标系,提供ShapeFile、GeoJSON和CSV三种格式 阅读详情

相关推荐

数值计算方法 matlab用二分法或简单迭代法求_快速求解方程的根——二分法与牛顿迭代法

今天是周四高等数学专题的第7篇文章。之前的文章和大家聊了许多数学上的理论,今天和大家聊点有用的东西。我们都知道,工业上的很多问题经过抽象和建模之后,本质还是数学问题。而说到数学问题就离不开方程,在数学上我们可以用各种推算、公式,但是有没有想过在计算机领域我们如何解一个比较复杂的方程?如果之前没有想过,那你可能得想一想,因为以后很有可能会在面试题当中遇到。二分法我们要介绍的第一个方法是二分法。说到二...

weixin_39945915的博客 1303

vue的table当前页面上排序、自适应高度

排序: :default-sort="{prop:'createdDate,updatedDate',order:'descending'}" 自适应高度: :height='calc(100vh-220px)' 行处理默认span为:24 <el-row> <el-col:span="12"> ...

weixin_39249427的博客 338

VASP计算层错能(SFE)全攻略2

本文介绍了使用VASP计算纯镍(Ni)层错能(SFE)的具体步骤。首先构建Ni的FCC单胞并扩展为超胞,通过修改原子位置引入堆垛层错;随后分别计算完美晶体和含层错结构的能量;最后通过能量差与层错面积之比求得SFE值。计算需注意k点网格、截断能和超胞尺寸的收敛性测试,并推荐使用PAW赝势和ASE等工具辅助结构构建。

weixin_50519490的博客 1986

el-tree 增加滚动条,限定高度

<el-tree :style="{height: scrollerHeight,overflow:'auto',display: 'flex'}" /> scrollerHeight:动态设置高度; display:flex:配合overflow:'auto'可以出现滚动条; computed: { scrollerHeight: function() { return (window.innerHeight - 250) + 'px'; }..

qq_29384639的博客 8140

在LinuxMint 22.1(Ubuntu24.04)上安装使用同花顺远航版

Linux用户成功在LinuxMint22.1系统上通过Wine9.0运行同花顺远航版,解决了长期困扰的股票行情软件问题。此前Linux原生版同花顺功能简陋且停止更新,Wine版通达信存在显示问题。作者作为自由软件支持者,通过调整Wine配置文件解决了高分屏显示异常问题,实现了远航版的正常使用。期待同花顺能重启Linux原生版开发,支持更多处理器架构,完善国产软件生态。该方案为Linux股票软件用户提供了实用参考。

5133

IEPE传感器4mA恒流源接口电路

另外传感器的偏置电压大概在10V多点,一般接个电容把直流分量去掉。这里我们要把恒流源的电流设置在4毫安左右,R1取33Ω差不多正好。经过CR的隔直流电路后的波形是这样的。

老白的博客 6107

el-table-column使用v-if时出现的高度错误问题

el-table-column使用v-if时出现的高度错误问题 在调用改变v-if的方法位置调用该方法 this.$nextTick(() => { this.$refs.dicttableTree.doLayout(); });

W_H_M_S的博客 745

基于STM32L4XX、HAL库的STS40-CD1B-R3温度传感器 驱动程序设计

/ HAL库需要左移一位。// 每2秒读取一次。// 等待测量完成 - 高精度模式大约需要15ms。// 执行软复位确保传感器处于已知状态。温度测量范围:-40°C ~ +125°C。湿度测量范围:0% ~ 100% RH。// 复位后需要等待至少1ms。// 初始化STS40传感器。// 读取温湿度数据。// 转换原始数据为实际值。// 发送读取序列号命令。// 读取序列号数据。湿度精度:±1.5% RH。

zhusl6688的博客 287

el-scrollbar超出的时候hover时自动出现滚动条

<span>配置算法</span> <el-scrollbar class="myScroll" style="height:100%"> <el-tree :props="defaultProps" :data="data" show-checkbox node-key="id" ...

anny_mei的博客 823

手把手教你学PCIE--系统内存管理:GART(Graphics Address Remapping Table)的典型用途详解

GART(图形地址重映射表)是GPU的核心组件,主要用于地址映射转换。其典型用途分为物理模式和虚拟模式两类:在物理模式下,GART将GPU虚拟地址映射到分散的物理内存,支持DMA连续访问非连续内存块,适用于GPU渲染纹理采样和AI推理数据搬运等场景;在虚拟模式下,GART配合IOMMU实现多级映射,将GPU虚拟地址转换为虚拟机物理地址再映射到宿主机物理地址,确保多租户隔离,应用于云服务器GPU共享和容器化AI训练等虚拟化环境。两种模式分别优化了高性能计算场景和虚拟化场景的需求。

MHD0815的博客 367

土壤数据库辅助工具SPAW计算土壤导水率

首先点击打开根据之前的1比100土壤数据查表得到各个组分含量其中Field Capacity是田间持水量Matric Bulk Density是基质粒密度。

所有专家都曾始于新手 3443

flex tree 自动显示水平滚动条

package com.common.tree { import flash.events.Event; import mx.controls.Tree; import mx.core.ScrollPolicy; import mx.core.mx_internal; /** * 自动显示横向滚动条 * @author chensong * */...

chensong168的博客 144

Isaac Sim 入门教程(四)强化学习策略训练宇树人形机器人四足机器人示例

isaac_sim_policy_example Extension 是在 Isaac Sim 中部署 Isaac Lab 强化学习策略的一个框架和一组辅助函数。有关在 Isaac Sim 中训练和构建策略的详细信息,请访问在 Isaac Sim 中部署策略。该扩展程序默认已启用。如果被禁用,可在扩展管理器中搜索 isaacsim.robot.policy.example 重新启用。要运行下面的示例,请激活 “视窗”>“示例”>“机器人示例”,这将打开 “机器人示例 ”选项卡。

机器人控制与仿真应用 3923

flex tree 自适应显示横向滚动条

原文见博客:http://blog.youkuaiyun.com/siy020513/article/details/5262550

lczz89的专栏 731

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

flex tree 自动显示横向滚动条

从原始Tree继承出新的类AutoSizeTree AutoSizeTree.as package view.component { import flash.events.Event; import mx.controls.Alert; import mx.controls.Tree; import mx.core.ScrollPolicy; import mx.core.mx

螃蟹的程序博客 746

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

flex 自动显示水平滚动条

<mx:Tree/> 只会自动显示垂直滚动条而不会自动显示水平滚动条,貌似是因为没有对 maxHorizontalScrollPosition属性进行动态的处理,一下重写tree组件,可以自动显示水平滚动条。 packagecom.common.tree{ importflash.events.Event; importmx.controls...

weixin_34348111的博客 1059

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

flex tree 水平滚动条问题

flex tree 水平滚动条只有在设置成     horizontalScrollPolicy="on"时 才会有效,其它都无效

dengyulong的专栏 116

elementui Tree组件自定义树内容后超出宽度不出现滚动条

经过检查发现是因为设置了display:flex;导致的,只需要加上align-self:baseline;即可撑开宽度,然后将el-tree设置overflow:auto ::v-deep { .el-tree { overflow: auto } .el-tree-node__content { align-self: baseline; } } ...

波客 5004

FLEX的TREE组件源码解读(二)

<br />public class Tree extends List implements IIMESupport<br />{<br />    include "../core/Version.as";<br />    private var IS_NEW_ROW_STYLE:Object =<br />    {<br />        depthColors: true,<br />        indentation: true,<br />        disclosureOpenI

老胡的ACTIONSCRIPT3 737

el-tree树形节点过滤失效?可能是这个CSS属性在捣鬼

本文深入分析了Element UI中el-tree组件树形节点过滤失效的常见原因,特别是CSS属性display:block如何干扰过滤机制。通过实际案例展示了问题重现过程,并提供了三种可靠的解决方案,包括使用原生滚动条、自定义滚动容器和深度选择器修正,帮助开发者快速定位并解决类似问题。

weixin_30329623的博客 390

Flex组件-常规组件

Flex组件-常规组件 1.Button: Button组件是一个常用的矩形按钮,最普通的事件响应是鼠标单击。该组件可以有一个文字的标签和一个图标。   2.ButtonBar: ButtonBar组件可定义一组具有普通外观和导航的逻辑上相关的按压按钮,这组按钮可以是水平的也可以是垂直的。   3.CheckBox: CheckBox组件包含一个可选标签和一个小方框,...

serv 209

[VUE]解决组件固定长宽后,更下层内容展示遮挡问题

VUE bug解决

th15813814752的博客 965
上一篇: 使用Flash Player 11.2的新功能实现右键菜单
下一篇: Flex中定制带图标的Tooltip
subnetwork
博客等级 码龄17年 17粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值