黑马程序员技术交流社区

标题: treeview 加总楼层 [打印本页]

作者: 迟强    时间: 2013-4-10 11:12
标题: treeview 加总楼层
本帖最后由 迟强 于 2013-4-16 12:39 编辑

    //绑定树
    private void bindInfo()
    {
        TreeView1.Nodes.Clear();
        TreeNode root = null;
        TreeNode node = null;
        List<ShopType> list = new Select().From<ShopType>().OrderAsc(ShopType.Columns.FatherID).ExecuteTypedList<ShopType>();
        StringBuilder sb_str = new StringBuilder();
        foreach (ShopType st in list)
        {
            if (st.FatherID == 0)
            {
                root = new TreeNode();
                root.Value = st.Id.ToString();
                root.Text = st.TypeName;
                root.ToolTip = "一级类别";
                root.ExpandAll();
                foreach (ShopType st1 in list)
                {
                    if (st1.FatherID == st.Id)
                    {
                        sb_str.Remove(0, sb_str.ToString().Length);
                        node = new TreeNode();
                        node.Value = st1.Id.ToString();
                        node.Text = sb_str.Append(st1.TypeName).Append(" (经营项目:<span style='color:red'>").Append(st1.TypeItem).Append("</span>)").ToString();
                        node.ToolTip = "二级类别";
                        root.ChildNodes.Add(node);
                    }
                }
                TreeView1.Nodes.Add(root);
            }
        }
    }

这是绑定的两级楼层  现在需要在最上面加个固定的总楼层 怎么加呢?谢谢

作者: 张正强    时间: 2013-4-10 15:54
可以这样做:把
TreeView1.Nodes.Clear();
TreeNode root = null;
TreeNode node = null;
改为:
TreeNode root = new TreeNode();
root.Text = "总分类";
root.Expand();//展开节点
TreeView1.Nodes.Add(root);
作者: 迟强    时间: 2013-4-10 17:15
2楼的谢谢了 你那样改 总分类是和一级节点处于同一级的 我已经自己解决问题了
代码如下,希望给碰到同样问题的朋友参考下
private void bindInfo()
    {
        TreeView1.Nodes.Clear();
        TreeNode root = null;
        TreeNode node = null;
        TreeNode lc = new TreeNode("楼层","-1");
        lc.ExpandAll();
        List<FloorType> list = new Select().From<FloorType>().OrderAsc(FloorType.Columns.FatherID).ExecuteTypedList<FloorType>();
        StringBuilder sb_str = new StringBuilder();
        foreach (FloorType st in list)
        {
            if (st.FatherID == 0)
            {
                root = new TreeNode();
                root.Value = st.Id.ToString();
                root.Text = st.TypeName+st.TypeItem;
                root.ToolTip = "一级";
                root.ExpandAll();
                foreach (FloorType st1 in list)
                {
                    if (st1.FatherID == st.Id)
                    {
                        sb_str.Remove(0, sb_str.ToString().Length);
                        node = new TreeNode();
                        node.Value = st1.Id.ToString();
                        node.Text = sb_str.Append(st1.TypeName).ToString();
                        node.ToolTip = "二级";
                        root.ChildNodes.Add(node);
                    }
                }
               
                lc.ChildNodes.Add(root);
            }
        }
        TreeView1.Nodes.Add(lc);
    }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2