纠结了一天的时间弄这个,大都说的是用xml文件作为数据源的,因为我用的是arrayCollection作为数据源,所以也就没有试,在此不做评论,下面就说下我找到的方法。
根据flex的文档我们可以知道,要展开某个节点主要有两种方法:
(1)expandItem,这个方法只展开指定的节点,不会展开子节点。
(2)expandChildOf,这个方法会展开指定节点的子节点。
但是单单使用这两个方法不一定可以,还需要注意几个问题:
1、展开的对象一定要是通过selectItem方法得到,也就是说先把要展开的节点设为选中状态,再得到选中的对象
2、要通过callLater调用
下面以展开第一个节点为例,贴出代码
tree.callLater(
new function():void{
tree.selectIndex=0;
tree.expandItem(tree,selectItem,true);
//tree.expandChildrenOf(tree.selectItem,true);
}
)
在Flex中让Tree绑定数据后自动展开节点:
我发现网上流传下面两种代码:
第一种:
treePlayList.dataProvider=results;//刷新
treePlayList.validateNow();//全部展开
treePlayList.selectedIndex=0;
treePlayList.expandChildrenOf(treePlayList.selectedItem,true);
但有些人试过不行, 我也不知道为什么。
第二种:
某些稍微聪明一点的人受到启发想用个延时后再执行就行了:
setTimeout(IniExpand, 1000); //延时1秒
private function IniExpand():void {
TreeView1.selectedIndex=1;
TreeView1.expandItem(TreeView1.selectedItem,true);
}
不过,我亲自试了,根本无效嘛~
其实,我自己想到了一个我认为是权威准确的方法,那就是用callLater方法,再加上匿名代理方法!!!
代码如下:
myTree.callLater(function ():void{myTree.expandChildrenOf(selectedItem.root[0],true);}); //selectedItem.root当然起始节点了(这是在 flash builder 4中测试成功)
这个方法是在某天开窍突然想到Flex/Flash会像C#语言那样,能在方法的参数体里定义一个匿名方法呢?, 类似C#里的匿名代理方法delegate, 结果一试果然成功了,呵呵
分享到:
相关推荐
react-antd table树形数据默认展开行实现jsx文件
当用户勾选某个父节点的复选框时,希望该父节点下的所有子节点都能被自动选中,并且这些子节点能够自动展开显示。本文将详细介绍如何在 ASP.NET 应用程序中实现这一功能。 #### 一、问题背景及需求分析 在用户权限...
当用户双击某个节点时,可以弹出一个输入框让用户编辑节点文本,修改后保存并更新数据源。同时,需要确保在编辑过程中其他节点的操作不会影响到当前编辑状态,比如阻止拖拽或点击事件的默认行为。 在使用IView的`...
半选功能意味着用户可以选中某个节点而不影响其父节点或子节点的状态。这在需要独立选择某一层次的节点时非常有用。全选则会将树中的所有节点标记为选中状态,这通常伴随着一个顶级复选框,当用户点击该框时,整个树...
当用户首次访问或展开某个节点时,才请求后台获取相应的子节点数据,从而降低初始页面加载时间。 3. 节点操作:添加、删除、移动节点是SimpleTree1.2的基本操作,这些功能使开发者能方便地调整和更新树结构。 4. ...
当用户点击某个节点时,触发相应的回调函数。 ```javascript var myChart = echarts.init(document.getElementById('main')); myChart.setOption({ // ...其他配置项... on: { click: function (params) { // ...
这意味着当用户展开某个节点时,该节点下的子节点才会被请求并加载到界面上。这种方式能够显著提高应用的性能和响应速度,特别是在处理大量数据时更为明显。 #### 三、配置实现 在配置`TreeGrid`组件时,需要关注...
在EasyUI的Tree组件中,我们可以配置`url`属性来指定一个服务端接口,当用户展开某个节点时,会自动发送请求到这个接口,获取相应的子节点数据。 示例代码中,`#box`是Tree组件的选择器,`url : 'tree.php'`指定了...
例如,添加`class="closed"`表示节点默认关闭,点击时移除该类,添加`class="open"`表示节点已展开。 关于cookie记录功能,它是Web开发中一种简单的客户端数据存储机制。当用户访问某个页面时,浏览器会保存服务器...
- `expandNode(treeNode, expandSign, sonSign, focus)`: 展开或折叠指定节点。 - `moveNode(targetNode, treeNode, moveType)`: 移动节点。 - `removeNode(treeNode)`: 删除节点。 - `selectNode(treeNode)`: ...
5. **事件监听**:监听用户的点击事件,当用户选择某个节点时,更新实际的下拉选择列表值,同时可以触发相应的回调函数进行其他业务逻辑处理。 6. **样式调整**:为了使其适应下拉选择列表的外观,可能需要对Z-Tree...
在本例中,Tree控件的每个节点将代表一个网页链接,当用户点击某个节点时,触发事件,进而加载对应的网页到iFrame中。 接着,我们来看看iFrame组件。iFrame(Inline Frame)是HTML中用于嵌入另一个文档的元素,通常...
5. **优化性能**:为了提高性能,避免每次节点展开都重新加载图片。可以预先加载所有可能的图标,并存储在一个对象缓存中,根据需要直接引用。 综上所述,修改Flex Tree的icon涉及到创建自定义渲染器、数据绑定、...
也就是说,当用户操作某个节点的复选框时,需要根据一定的逻辑规则来更新其子节点乃至父节点的复选状态。这个问题在开发过程中很常见,尤其是在处理权限树、分类树等场景中更为突出。 从给定的文件内容中,我们可以...
比如,当用户点击某个节点时,我们可以修改该节点的`icon`属性,然后调用`updateNode`方法更新显示。 5. **CSS样式覆盖**:若需要更为细致的图标控制,可以利用CSS对特定的节点或状态应用样式。通过设置选择器的...
5. **滚动同步**:如果树中的某个节点数量过多,可能需要在展开或关闭节点时同步滚动位置,以保持用户体验的一致性。 6. **性能优化**:为了进一步提升性能,源码可能会包含一些优化策略,如提前预加载相邻节点,...
"自动展开"指的是当用户选择某个节点时,该节点及其所有子节点都会自动显示出来。这通常通过监听节点的点击事件,然后调用展开/折叠方法实现。例如,在Flex环境中,可能需要使用`expandNode()`或类似的API来实现这...
当用户在树形下拉菜单中选择某个节点时,我们通常需要获取该节点的信息,例如它的ID或文本。layui的tree组件提供了事件监听功能,可以绑定到`on('check', function(data){})`事件上,当用户选择或取消选择节点时...
这样的组件通常会提供API来创建节点、添加子节点、删除节点、展开/折叠节点等功能,同时也可能会有动画效果和交互性设计,比如默认展开两级,这使得用户可以更直观地查看和操作数据。 描述中提到的"默认展开两级...
例如,如果希望某个节点默认展开,可以在JSON数据中设置`state`为`'open'`。 ### 6. 节点操作 EasyUI的树菜单提供了丰富的API方法,如`expandNode`用于展开指定节点,`collapseNode`用于折叠节点,`selectNode`...