下一页 1 2
一个用C#写的无限结点树的原码
//递归生成树的项目
private void CreateNode(int sZml,Crownwood.DotNetMagic.Controls.Node pNode)
{
//从WebService上取得数据集
====================================================
DataSet myDataSet=new DataSet();
string strCom = "SELECT * FROM cptree where zcpsid=" + sZml;
myDataSet=Form1.myService.GetTree(strCom);
//============================================================================
pNode.Expanded=true;
if(pNode.Expanded==false)
pNode.Image=imageList.Images[7];
else
pNode.Image=imageList.Images[8];
//定义一个DataRow
System.Data.DataTable myDataTable=new DataTable(); //定义一个DataTable
myDataTable = myDataSet.Tables["cptree"]; //引用DataSet中的一个DataTable
foreach(System.Data.DataRow myDataRow in myDataTable.Rows)
{
if(pNode==null)
{
Crownwood.DotNetMagic.Controls.Node Nodee;
Nodee=new Node();
Nodee.Text=myDataRow["cplm"].ToString();
Crownwood.DotNetMagic.Controls.Node Node = TheTreeCkCpXs.Nodes.Add(Nodee);
CreateNode(Int32.Parse(myDataRow["cpsid"].ToString()),Node); //再次递归
}
else
{
Crownwood.DotNetMagic.Controls.Node Nodee;
Nodee=new Node();
Nodee.Text=myDataRow["cplm"].ToString();
Crownwood.DotNetMagic.Controls.Node Node = pNode.Nodes.Add(Nodee);
CreateNode(Int32.Parse(myDataRow["cpsid"].ToString()),Node); //再次递归
}
}
}