日期:2014-05-18  浏览次数:20392 次

如何创建动态的treeview
数据表只有两个字段
name time
aa 20120101
bb 20120101
cc 20120102
aa 20120102
时间为根节点,name为子节点
请问代码该怎么写

------解决方案--------------------
递归,循环加载,但是你这颗树很奇怪,怎么没有一个父节点?
------解决方案--------------------
时间为根节点,name为子节点

aa 20120101
bb 20120101
cc 20120102
aa 20120102

红色的2个关系怎么表示?加个parentId?
------解决方案--------------------
先根据时间来排好序,然后通过循环来添加节点和子节点
------解决方案--------------------
//读取数据到表tb
DataRow[] findR;
TreeNode pn, cn;
string[] s = new string[] { "time" };
DataTable disTb = tb.DefaultView.ToTable(true, s);
foreach(DataRow disR in disTb.Rows)
{
pn = new TreeNode();
pn.Text = disR["time"].ToString();
this.TreeView1.Nodes.Add(pn);
findR = tb.Select("time='" + disR["time"].ToString() + "'");
if (findR.Length > 0)
{
for (int i = 0; i < findR.Length; i++)
{
cn = new TreeNode();
cn.Text = findR[i]["name"].ToString();
pn.ChildNodes.Add(cn);
}
}

}


------解决方案--------------------
好久没来了,帮顶,学习一下,都忘了