动态载入TreeView时让TreeView节点前显示加号

解释下标题,我这里通过webservice获取数据并动态载入TreeView节点。那么某个节点展开前它是没有子节点的。那么它就不显示加号。这样会让用户误以为此节点不能展开。我是这样做的,每次创建节点a时,默觉得它创建一个子节点b(随便给个名字即可,如果为“呵呵”),那么创建的节点a就有了子节点b,也就会显示加号了,等展开节点a时,再把刚才默认创建的子节点b移除就能够了,删除方法是先推断展开的节点a是否有一个子节点而且名字为“呵呵”。如果为真则删掉。

当然这样做导致有一个小问题,因为我调用的webservice仅仅能逐层获取每级的treenode,那么假设使用上述的方法。到最后一层的节点时。此节点前面仍然显示加号。对此我想到的解决方法就是,在此节点展开前调用一次服务推断该节点是否有子节点,假设有则为它创建默认子节点。假设没有则不创建默认子节点,可是因为展开时还要调用一次服务,这样做代价实在太大了。假设哪位大神想到了解决问题的办法请不吝赐教啊。

时间: 2024-08-07 23:07:40

动态载入TreeView时让TreeView节点前显示加号的相关文章

动态加载TreeView时让TreeView节点前显示加号

解释下标题,我这里通过webservice获取数据并动态加载TreeView节点,那么某个节点展开前它是没有子节点的,那么它就不显示加号,这样会让用户误以为此节点不能展开.我是这样做的,每次创建节点a时,默认为它创建一个子节点b(随便给个名字就行,假设为"呵呵"),那么创建的节点a就有了子节点b,也就会显示加号了,等展开节点a时,再把刚才默认创建的子节点b移除就可以了,删除方法是先判断展开的节点a是否有一个子节点并且名字为"呵呵",如果为真则删掉. 当然这样做导致有

重写TreeView,多层级节点下批量显示图片,图片支持缩略图和文件名列表切换,支持调用者动态匹配选中,支持外界拖入图片并添加到对应节点下

原文:重写TreeView,多层级节点下批量显示图片,图片支持缩略图和文件名列表切换,支持调用者动态匹配选中,支持外界拖入图片并添加到对应节点下 1.先看下整体效果 2.前端代码 1 <UserControl x:Class="iPIS.UI.Base.Tree.ImageTreeControl" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x=&quo

delphi TreeView 从数据库添加节点的四种方法

方法一:delphi中递归算法构建treeView 过程:通过读取数据库中table1的数据,来构建一颗树.table1有两个字段:ID,preID,即当前结点标志和父结点标志.所以整个树的表示为父母表示法.本递归算法不难写,但是要注意:程序内部的变量都应使用局部变量!比如当Query是外部变量(函数外定义或者直接通过控件拖拽得来)时就会得到错误的结果.代码如下: unit Unit1; interface uses  Windows, Messages, SysUtils, Variants,

wpf treeview 数据绑定 递归绑定节点

1.先上效果 将所有节点加入ComboBox数据源,在ComboBox中选择时下方Treeview显示该节点下的子节点. 1.xaml文件,将以下代码加入界面合适位置 1 <StackPanel> 2 <StackPanel Margin="10"> 3 <Label Content="选择组节点:"></Label> 4 <ComboBox MaxDropDownHeight="100" N

delphi TreeView修改选中的节点的颜色和背景

TreeView修改选中的节点的颜色和背景 TCustomDrawTarget = (dtControl, dtItem, dtSubItem); TCustomDrawStage = (cdPrePaint, cdPostPaint, cdPreErase, cdPostErase); TCustomDrawState = set of (cdsSelected, cdsGrayed, cdsDisabled, cdsChecked, cdsFocused, cdsDefault, cdsHo

Android之根布局动态载入子布局时边距设置无效问题

Android大部分的控件都会有padding和layout_margin两个属性,一般来说它们的差别是: padding:控件中的内容离控件边缘的距离. margin: ?控件离它的父控件边缘的距离. 今天做了一个由根布局动态载入子布局的实验,结果发现子布局中的这两个属性能够按预期的效果显示,可是给根布局设置的padding并没有对被载入的子布局产生效果. 代码例如以下: 根布局文件名称为activity_main.xml,其xml文件定义的内容为: <LinearLayout xmlns:a

关于LightMapping和NavMesh烘焙的动态载入

熟悉unity的朋友都应该知道,unity有内部LightMapping烘焙和NavMesh寻路的功能.但这些非常好用的功能,都是基于对某个已经保存的关卡(scene)进行烘焙(Bake)的操作,我一直以为,一般来说这样非常难做到外部载入或者动态载入的. 但通过近期一段时间的研究,发现事实上这些基于scene的功能,也是能够动态载入的,尽管在使用上是有一定的限制,只是合理利用还是能做到不少想要的效果的. 如果我们限制有这种项目要求,游戏项目是网页游戏,因为容量的关系,我们全部的场景都是外部动态载

Jquery chosen动态设置值 select Ajax动态载入数据 设置chosen和获取他们选中的值

? 在做一个编辑对话框时,要对里面带有select option的操作.主要是想动态载入option和对option的选中.可是由于项目中使用了jquery里的chosen()方法.怎么也无法实现效果.原码例如以下: ? ? Java代码 ? <select?id="viewOLanguage"?data-rel="chosen">?? ????<option?value="zh">中文简体(中文简体?Chinese)&l

兼容的动态载入JS【原】

兼容的动态载入JS 屌丝就是悲剧,五一还得宅家里敲代码专研技术. 说起动态载入JS,搞web的肯定不陌生,著名的YUI库就有强大的模块化的动态载入JS机制.在代码量不断庞大的今天,动态载入JS作用还是很明显的.其实这门技术已经很古老了,但是发现网络上很多资料也同样很古老.诶,没法,自立更生吧,人生总要不断积累的,更何况作为一个程序猿呢. 关于动态JS大家比较关注的无非就两点,兼容性如何?如何控制是同步还是异步?现在针对常见的4种方案来分析.前3种是异步的,最后1种是同步的. 方法1: <scri