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();
}
例如图所示: