现在的位置: 首页 > 综合 > 正文

TreeView 添加时间节点 年月日

2013年06月15日 ⁄ 综合 ⁄ 共 3650字 ⁄ 字号 评论关闭

    WinForm中将时间添加到TreeView节点中

        /// <summary>
        /// 绑定时间
        /// </summary>
        private void BindTreeViewDate()
        {
            this.treeView1.Nodes.Clear();
            TreeNode nodeSelect = new TreeNode();
            TreeNode nodeSelectM = new TreeNode();
            TreeNode nodeSelectY = new TreeNode();
            string strsql = "select PiNumber from cn_TiaoMu group by PiNumber";
            DataTable dt = conn.GetData(strsql, "cn_TiaoMu");//得到数据
            if (dt != null && dt.Rows.Count > 0)
            {
                //绑定第一行时间
                TreeNode tn1 = new TreeNode();
                TreeNode tn2 = new TreeNode();
                TreeNode tn3 = new TreeNode();

                //将列数据20100414转化为时间格式
                DateTime date = DateTime.ParseExact(dt.Rows[0][0].ToString(),"yyyyMMdd",new CultureInfo("zh-CN"));

                tn1.Text = date.Year.ToString() + "年";
                tn1.Tag = date.ToShortDateString();
                this.treeView1.Nodes.Add(tn1);

                tn2.Text = date.Month.ToString() + "月";
                tn2.Tag = date.ToShortDateString();
                tn1.Nodes.Add(tn2);

                tn3.Text = date.Day.ToString() + "日";
                tn3.Tag = date.ToShortDateString();
                tn2.Nodes.Add(tn3);

                dt.Rows.RemoveAt(0); //移除第一行

                foreach (DataRow row in dt.Rows)
                {
                    DateTime dateNext = DateTime.ParseExact(row[0].ToString(),"yyyyMMdd",new CultureInfo("zh-CN"));

                    //绑定年
                    if (string.Compare(dateNext.Year.ToString() + "年", tn1.Text) != 0)
                    {
                        tn1 = new TreeNode();
                        tn2 = new TreeNode();
                        tn3 = new TreeNode();

                        tn1.Text = dateNext.Year.ToString() + "年";
                        tn1.Tag = dateNext.ToShortDateString();
                        this.treeView1.Nodes.Add(tn1);

                        tn2.Text = dateNext.Month.ToString() + "月";
                        tn2.Tag = dateNext.ToShortDateString();
                        tn1.Nodes.Add(tn2);

                        tn3.Text = dateNext.Day.ToString() + "日";
                        tn3.Tag = dateNext.ToShortDateString();
                        tn2.Nodes.Add(tn3);

                        if (nodeSelectY == null && dateNext.Year.ToString() == DateTime.Now.Year.ToString())
                        {
                            nodeSelectY = tn1;
                        }
                    }
                    //绑定月
                    else if (string.Compare(dateNext.Month.ToString() + "月", tn2.Text) != 0)
                    {
                        tn2 = new TreeNode();
                        tn3 = new TreeNode();

                        tn2.Text = dateNext.Month.ToString() + "月";
                        tn2.Tag = dateNext.ToShortDateString();
                        tn1.Nodes.Add(tn2);

                        tn3.Text = dateNext.Day.ToString() + "日";
                        tn3.Tag = dateNext.ToShortDateString();
                        tn2.Nodes.Add(tn3);

                        if (nodeSelectM == null && dateNext.ToString("yyyyMM") == DateTime.Now.ToString("yyyyMM"))
                        {
                            nodeSelectM = tn2;
                        }
                    }
                    //绑定日
                    else
                    {
                        tn3 = new TreeNode();

                        tn3.Text = dateNext.Day.ToString() + "日";
                        tn3.Tag = dateNext.ToShortDateString();
                        tn2.Nodes.Add(tn3);

                        if (dateNext.ToShortDateString() == DateTime.Now.ToShortDateString())
                        {
                            nodeSelect = tn3;
                        }
                    }
                }
            }

            this.treeView1.CollapseAll();
        }

例如图所示:

【上篇】
【下篇】

抱歉!评论已关闭.