flex tree maxHorizontalScrollPosition 如何设置

siy020513 2010-01-26 09:18:37
加精
flex tree 横向滚动条显示出来了,但有的节点过长却老是显示不全,
如果将maxHorizontalScrollPosition 设置成一个很大的值的话滚动条就会显示过长,出来一段空白
而且滚动条不能隐藏。
请教各位大虾,如何动态地设置maxHorizontalScrollPosition 属性 或有其他什么办法让滚动条显示正常。
在这里先谢谢了


...全文
807 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
subehappy 2010-07-30
  • 打赏
  • 举报
回复
cmp:AutoSizeTree显示不了数据
mx:Tree是正常的
siy020513 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 changrui11 的回复:]
想问下你的横向滚动条怎么加的啊
[/Quote]
我空间里有代码
你去看看吧
changrui11 2010-06-10
  • 打赏
  • 举报
回复
想问下你的横向滚动条怎么加的啊
zhangyongtian_0810 2010-01-28
  • 打赏
  • 举报
回复
学习下
bird_boy 2010-01-28
  • 打赏
  • 举报
回复
学习了!!
wodespace 2010-01-28
  • 打赏
  • 举报
回复
学习啦,我一直很想做这个
macklau 2010-01-27
  • 打赏
  • 举报
回复
ding
siy020513 2010-01-27
  • 打赏
  • 举报
回复
....
都被推荐了
可惜就是搞不出来啊
shiliufu 2010-01-27
  • 打赏
  • 举报
回复
up
fblgzdq 2010-01-27
  • 打赏
  • 举报
回复
f
siy020513 2010-01-27
  • 打赏
  • 举报
回复
非常感谢14楼
CCjian
(默契)


问题终于解决了
我把代码贴出来吧,对新手应该还是有很大帮助的



package com.render
{
import flash.events.Event;

import mx.controls.Alert;
import mx.controls.Tree;
import mx.core.ScrollPolicy;
import mx.core.mx_internal;

public class AutoSizeTree extends Tree
{
public function AutoSizeTree()
{
super();
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);

var indentation:Number = getStyle("indentation");

if (diffWidth <= 0)
maxHorizontalScrollPosition = NaN;
else
maxHorizontalScrollPosition = diffWidth + indentation;
super.updateDisplayList(unscaledWidth, unscaledHeight);
}
}
}



<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:cmp="com.render.*"
height="100%" width="100%" paddingTop="0" paddingBottom="0" paddingLeft="0" paddingRight="0">
<cmp:AutoSizeTree
id="checkTree"
itemRenderer="com.render.CheckTreeRenderer"
change="updataDataGrid()"
labelField="@label"
width="100%" height="100%"
horizontalScrollPolicy="auto" >
</cmp:AutoSizeTree>
</mx:Application>
yujia1655 2010-01-27
  • 打赏
  • 举报
回复
学习了
musicark 2010-01-27
  • 打赏
  • 举报
回复
学习了,谢谢~
CCjian 2010-01-27
  • 打赏
  • 举报
回复
居然没有FLEX的..
之前用时都没有发现有这个问题,长度是有限的.
整理如下
package myTest
{
import flash.events.Event;

import mx.controls.Alert;
import mx.controls.Tree;
import mx.core.mx_internal;
public class AutoSizeTree extends Tree
{

public function AutoSizeTree()
{
super();
}
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);
}
}
}
dy5599 2010-01-27
  • 打赏
  • 举报
回复
我昏,,,,
siy020513 2010-01-26
  • 打赏
  • 举报
回复
没人回答自己顶
囧。。。
siy020513 2010-01-26
  • 打赏
  • 举报
回复
SF
今天第一贴?
水中影子 2010-01-26
  • 打赏
  • 举报
回复
顶!!!没想到什么好的办法
yb121331 2010-01-26
  • 打赏
  • 举报
回复
刚刚开始学习哦
sxthcj2000 2010-01-26
  • 打赏
  • 举报
回复
顶一把
加载更多回复(2)

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧