61,830
社区成员




public void buiTreeView(string pid)
{
TreeNode MyTreeNode = new TreeNode();
string sql = "select * from 产品类别表 where 上级父编号 = " + pid + " order by 排序";
Hisidon.Components.DB db = new Hisidon.Components.DB();
SqlDataReader sdr = db.getReader(sql);
while (sdr.Read())
{
MyTreeNode = CreateTreeNode(sdr[1].ToString(), sdr[0].ToString());
TreeView1.Nodes.Add(MyTreeNode);
this.buiTreeView(sdr[0].ToString());
}
sdr.Close();
db.Free();
}
protected void Button1_Click1(object sender, EventArgs e)
{
TreeView1.Nodes.Clear();
buiTreeView("0");
}
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection myConn = new SqlConnection("user id=sa;password=123;Database =test;data source=jeff;");
try
{
//初始化连接字符串
SqlDataAdapter myAdapter = new SqlDataAdapter("select * from menu order by parentID ", myConn); ;
DataSet ds = new DataSet();
myAdapter.Fill(ds);
this.ViewState["ds"] = ds;
}
catch (Exception ex)
{
Session["Error"] = ex.ToString();
}
finally
{
myConn.Close();
}
//调用递归函数,完成树形结构的生成
AddTree(0, (TreeNode)null);
}
//递归添加树的节点
public void AddTree(int ParentID, TreeNode pNode)
{
DataSet ds = (DataSet)this.ViewState["ds"];
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[PARENTID] = " + ParentID;
foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{ //添加根节点
Node.Text = Row["Title"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded = true;
AddTree(Int32.Parse(Row["ID"].ToString()), Node); //再次递归
}
else
{ //̀添加当前节点的子节点
Node.Text = Row["Title"].ToString();
pNode.ChildNodes.Add(Node);
Node.Expanded = true;
AddTree(Int32.Parse(Row["ID"].ToString()), Node); //再次递归
}
}
}