//建树的基本思路是:从根节点开始递归调用显示子树
public void InitTree(TreeNodeCollection Nds,string parentId)
{
DataView dv = new DataView();
TreeNode tmpNd; string intId; dv.Table = ds.Tables[0]; dv.RowFilter = "rootId = " + parentId; foreach(DataRowView drv in dv)
{ tmpNd = new TreeNode(); tmpNd.ID = drv["id"].ToString(); if(drv["linkUrL"].ToString().Trim() != "")
{
tmpNd.Text = "<a href ='"+drv["linkUrL"].ToString().Trim() +"'target='mainFrame'>"+drv["className"].ToString()+"</a>";
}
else
{
tmpNd.Text = drv["className"].ToString();
} Nds.Add(tmpNd); intId = drv["rootId"].ToString(); InitTree(tmpNd.Nodes,tmpNd.ID);
}
}
public void InitTree(TreeNodeCollection Nds,string parentId)
{
DataView dv = new DataView();
TreeNode tmpNd; string intId; dv.Table = ds.Tables[0]; dv.RowFilter = "rootId = " + parentId; foreach(DataRowView drv in dv)
{ tmpNd = new TreeNode(); tmpNd.ID = drv["id"].ToString(); if(drv["linkUrL"].ToString().Trim() != "")
{
tmpNd.Text = "<a href ='"+drv["linkUrL"].ToString().Trim() +"'target='mainFrame'>"+drv["className"].ToString()+"</a>";
}
else
{
tmpNd.Text = drv["className"].ToString();
} Nds.Add(tmpNd); intId = drv["rootId"].ToString(); InitTree(tmpNd.Nodes,tmpNd.ID);
}
}
(似乎是笨方法,仅供参考)
union
select *,'文件' as type from 表2设树的nodetype分别为目录和文件,然后进行榜定即可
111 111001
111 111002
222 222001
表按照a,b排序string a="";
逐行取表的行,当该行的a字段 不等于a的时候在树的根节点添加节点,否则在刚添加的点(根节点的孩子)下面添加节点
System.Windows.Forms.TreeNode mNode=new TreeNode("全部");
//mNode.ImageIndex =1;
treeView1.Nodes.Add(mNode) ;
//假设DataSet 已经取得
System.Windows.Forms.TreeNode nNode=new TreeNode("在职");
System.Windows.Forms.TreeNode pNode=new TreeNode("离职");
treeView1.TopNode.Nodes.Add(nNode) ;
treeView1.TopNode.Nodes.Add(pNode) ;
treeView1.Select ();
if (ds.Tables [0].Rows.Count <=0 )
{
return;
}
else
{
// add Add some childtreenodes
foreach(DataRow dr in ds.Tables [0].Rows )
{
System.Windows.Forms.TreeNode aNode=new TreeNode(dr["Name"].ToString() );
System.Windows.Forms.TreeNode bNode=new TreeNode(dr["Name"].ToString());
treeView1.Nodes [0].Nodes[0].Nodes .Add (aNode);
treeView1.Nodes [0].Nodes[1].Nodes .Add (bNode);
}
}
}
}