首页 新闻 会员 周边

Treeview如何只获得子节点的值。有checkbox联动效果,取值的时候只想要子节点的值,不要根节点。可以多选的

0
悬赏园豆:5 [已解决问题] 解决于 2013-08-26 10:23

现在的代码是这样的:

 /// <summary>
        /// 选中获取值事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSure_Click(object sender, EventArgs e)
        {
            GetCarListJson();
            string powerstr = "";
            powerstr =getCheckedNodeValue(TreeView1.Nodes);
            CarBrand.Value = powerstr;
            string Car = CarBrand.Value;
            this.RegisterStartupScript("e", "<script language=javascript>parent.GetName('" + Car + "');parent.ymPrompt.close();</script>");
        }


        public string getCheckedNodeValue(TreeNodeCollection aNodes)
        {
            string powerstr = "";

            for (int i = 0; i < aNodes.Count; i++)
            {
                if (aNodes[i].Checked == true)
                {
                    powerstr = powerstr + aNodes[i].Text + " ";
                }

                if (aNodes[i].ChildNodes.Count > 0)
                {
                    powerstr =powerstr+ getCheckedNodeValue(aNodes[i].ChildNodes);
                }
            }

            return powerstr;
        }

camille繁花的主页 camille繁花 | 初学一级 | 园豆:16
提问于:2013-08-26 09:33
< >
分享
最佳答案
0

建议你使用ztree

用JS写的树形结构,各个方面都很好使

收获园豆:5
二十三号同学 | 小虾三级 |园豆:974 | 2013-08-26 10:04

重新写的话改动大了。在这个基础上能改不?

camille繁花 | 园豆:16 (初学一级) | 2013-08-26 10:05

@camille繁花: 有效果图么? 看图更直接

二十三号同学 | 园豆:974 (小虾三级) | 2013-08-26 10:09

@二十三号同学: 我想要得到的就是4和京V026  我现在取得值是所以勾选上的。

camille繁花 | 园豆:16 (初学一级) | 2013-08-26 10:12

@camille繁花: 你可以通过 Depth 值进行限制,

或者找那些没有子节点==null 的节点,就是 叶子节点

二十三号同学 | 园豆:974 (小虾三级) | 2013-08-26 10:13

@二十三号同学: 什么意思?能具体一点吗?

camille繁花 | 园豆:16 (初学一级) | 2013-08-26 10:14

@camille繁花: 你遍历的时候,只获取 子节点==null 的节点

如果选择了,图上的 余杭区,你可能还要进行转换,解析成叶子节点吧!

二十三号同学 | 园豆:974 (小虾三级) | 2013-08-26 10:14

@camille繁花:    

for (int i = 0; i < aNodes.Count; i++)
            {

//aNodes[i].ChildNodes.Count<=0 说明没有子节点了
                if (aNodes[i].Checked == true && aNodes[i].ChildNodes.Count<=0)
                {
                    powerstr = powerstr + aNodes[i].Text + " ";
                }

                if (aNodes[i].ChildNodes.Count > 0)
                {
                    powerstr =powerstr+ getCheckedNodeValue(aNodes[i].ChildNodes);
                }
            }

二十三号同学 | 园豆:974 (小虾三级) | 2013-08-26 10:17

@camille繁花: 能行吧?

二十三号同学 | 园豆:974 (小虾三级) | 2013-08-26 10:21

@二十三号同学: 谢谢!可以了!

camille繁花 | 园豆:16 (初学一级) | 2013-08-26 10:23

@camille繁花: 建议你使用 Ztree

http://www.ztree.me/v3/demo.php#_101

大数据,性能很好,免费开源

二十三号同学 | 园豆:974 (小虾三级) | 2013-08-26 10:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册