经常在项目中遇到建立无限级树形菜单展示的效果,这里简单地做了一个,基本后台代码如下
复制代码 代码如下:
private DataTable GetTable(int topid) 
{ 
DataTable dt = null; 
try 
{ 
string constr = "server=.;database=tqnpc;uid=sa;pwd=sa"; 
string selstr = "select * from RW_工作关系 where main_id=" + topid + ""; 
SqlConnection con = new SqlConnection(constr); 
SqlDataAdapter da = new SqlDataAdapter(selstr, con); 
dt = new DataTable(); 
da.Fill(dt); 
} 
catch (Exception ex) 
{ 
Response.Write(ex.Message); 
} 
return dt; 
} 
protected void MakeTree() 
{ 
DataTable dt = GetTable(0); 
try 
{ 
if (dt != null) 
{ 
for (int i = 0; i < dt.Rows.Count; i++) 
{ 
TreeNode tn = new TreeNode(); 
tn.Text = dt.Rows[i]["MAIN_ID"].ToString(); 
tn.Value = dt.Rows[i]["REF_ID"].ToString(); 
tn.SelectAction = TreeNodeSelectAction.Select; 
TreeView1.Nodes.Add(tn); 
AddTreeNodes(int.Parse(dt.Rows[i]["REF_ID"].ToString()), int.Parse(dt.Rows[i]["REF_ID"].ToString()), tn); 
} 
} 
} 
catch (Exception ex) 
{ 
Response.Write(ex.Message); 
} 
} 
这个方法对数据库的结构也有一定的要求,数据库的设计如下:
您可能感兴趣的文章:
