| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 552 人关注过本帖
标题:求大神指教~关于treeview的问题
只看楼主 加入收藏
qx6574173
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-3-12
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:4 
求大神指教~关于treeview的问题
求大神指教~关于treeview的问题
有一个类似这样的数组
string[]{20120101,20120202,20130303,20130404,20140505}
怎么动态的在一个treeview中用节点安年月日分类显示;
如 2012-01 -01
           -02
           -03  

       -02 -04
           -05

   2013-04 -04
搜索更多相关主题的帖子: 年月日 动态 
2012-03-12 21:31
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
收藏
得分:20 
程序代码:
private void button1_Click(object sender, EventArgs e)
        {
            string[] data = new string[] { "20120101", "20120102", "20120103", "20120204", "20120205", "20130303", "20130304", "20140505" };

            TreeNodeCollection nodes = treeView1.Nodes;
            int nodeIndex = -1;
            foreach (string str in data)
            {
                string nodename = str.Substring(0, 4) + "-" + str.Substring(4, 2);
               
                if (nodes.Count > 0 && nodes[nodeIndex].Text == nodename)
                {
                    continue;
                }

                TreeNode node = new TreeNode(nodename);
                nodes.Add(node);
                TreeNodeCollection childNodes = node.Nodes;
                foreach (string child in data)
                {
                    if (child.Substring(0, 6).Equals(nodename.Replace("-", "")))
                    {
                        TreeNode childNode = new TreeNode(child.Substring(6,2));
                        childNodes.Add(childNode);
                    }
                }
                nodeIndex++;
            }
        }
在窗体上拖一个TreeView,Button,不知道是否符合你的要求

汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2012-03-13 09:53
wypdragon
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:110
注 册:2011-11-19
收藏
得分:0 
顶顶2楼
2012-03-13 17:14
qx6574173
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-3-12
收藏
得分:0 
回复 2楼 tanghuawei
谢谢大神的回复,我一回去试试!
2012-03-13 22:23
qx6574173
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-3-12
收藏
得分:0 
回复 2楼 tanghuawei
我借鉴了你的思路最后用这个代码实现了需要的功能
程序代码:
private void AddNodes(string[]Data)
        {
            TreeNodeCollection nodes = treeView.Nodes;
            int YeatIndex = -1, MonthIndex = -1, DayIndex = -1;
            foreach (string name in Data)
            {
                if (name == null)
                    break;
                string NodeName = name.Substring(0,4);
                if (nodes.Count > 0 && nodes[YeatIndex].Text.Substring(0,4) == NodeName)
                { continue; }
                TreeNode NewNode = new TreeNode(NodeName+"");
                nodes.Add(NewNode);
                TreeNodeCollection ChildNodes = NewNode.Nodes;
                foreach (string Month in Data)
                {
                    if (Month == null)
                        break;
                    string MonthName=Month.Substring(4,2);
                    if (ChildNodes.Count > 0&&ChildNodes[MonthIndex].Text.Substring(0,2)==MonthName )
                    {
                        continue;
                    }
                    if(Month.Substring(0,4)==name.Substring(0,4))
                    {
                        TreeNode ChildNode=new TreeNode(MonthName+"");
                        ChildNodes.Add(ChildNode);
                        TreeNodeCollection DayNodes = ChildNode.Nodes;
                     
                        foreach (string Day in Data)
                        {
                            if (Day == null)
                                break;
                            string DayName = Day.Substring(6, 2);
                            if (DayNodes.Count > 0 &&DayNodes[DayIndex].Text.Substring(0,2)==DayName )
                            { continue; }
                            if (Day.Substring(0,6) == Month.Substring(0,6))
                            {
                                TreeNode DayNode = new TreeNode(DayName+"");
                                DayNodes.Add(DayNode);
                                TreeNodeCollection TimeNodes = DayNode.Nodes;
                                foreach (string Time in Data)
                                {
                                    if (Time == null)
                                        break;
                                    string TimeName;
                                    TimeName = Time.Substring(8, 4);
                                    if (Day.Substring(0,8) == Time.Substring(0,8))
                                    {
                                        TreeNode TimeNode = new TreeNode(TimeName);
                                        TimeNodes.Add(TimeNode);
                                    }
                                 
                                }
                            }
                            DayIndex++;
                        }

                    }
                    MonthIndex++;

                }

                YeatIndex++;

            }

 

          
         

        }


 
2012-03-15 20:40
快速回复:求大神指教~关于treeview的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019597 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved