treeview添加节点:在多树联动和动态生树的情况下给树上添加新节点来源: 发布时间:星期四, 2009年2月12日 浏览:253次 评论:0
这个标题有点拗口给两个链接先这里解释了多树联动概念这篇文章讲了动态生树问题本来嘛给树加个新节点是简单但是有多挂节点存在、再加上标志位设置情况就有点复杂了 我们知道在动态生树过程中如果节点见光标志位是N在点击它父亲节点时候就会生成它儿子节点那么问题来了如果我们给某个节点J2添了新节点J3那么如果J2见光标志位是N如果用户的后点击了J2父亲J1的后系统就会试图生成J2孩子这就会导致J3重复添加就会出现运行时 那么J2见光标志位会是N么?答案是不会既然能给它添新节点它定是见光否则没法点着它然后在它上面加新节点呀? 原树上J2是肯定见光了那么同名非原树(简称同名树吧也就是基于同树表另个treeviewControl控件)上J2也定见过光么?答案是不定同树上J2甚至可能压根没生成过或者生成了但用户还没点过它父亲那它就没机会见光如果没见过就像我们上上段分析如果把J3加上就会导致运行时 所以对于同树节点如果它父亲节点没见过光我们就不可以给它加新节点 再个问题新添加节点J3见光标志位应该是N还是Y? 其实J3自己是Y还是N其实无所谓的所以设置这个标志位是为了防止重复生成孩子节点而J3没有孩子(它是新节点当然没孩子了)即使重复生成遍也不会导致重复孩子节点不过J3兄弟们是有所谓:如果J3兄弟们没见过光而J3把自己设置为Y那下次用户点击J2时候J3兄弟们就都失去了生育机会;如果J3兄弟们生过了而J3把自己设置为N那下次用户点击J2时候J3兄弟们就都得超生所以虽然J3自己设啥标志位没关系但是不能不和它兄弟节点设为致 如果没有兄弟节点话J3见光标志位如何设置呢?我看在原树上就设为Y省得日后还得重复访问数据库去看它有没孩子;而在同名树上还是设为N吧省得日后不断添加没见过光子孙节点(刚才讨论过哈如果同名树上父亲节点没见过光就不给它添新节点) 0
相关文章读者评论发表评论 |
|