经常在项目中遇到建立无限级树形菜单展示的效果,这里简单地做了一个,基本后台代码如下:
- privateDataTableGetTable(inttopid)
- {
- DataTabledt=null;
- try
- {
- stringconstr="server=.;database=tqnpc;uid=sa;pwd=sa";
- stringselstr="select*fromRW_工作关系wheremain_id="+topid+"";
- SqlConnectioncon=newSqlConnection(constr);
- SqlDataAdapterda=newSqlDataAdapter(selstr,con);
- dt=newDataTable();
- da.Fill(dt);
- }
- catch(Exceptionex)
- {
- Response.Write(ex.Message);
- }
- returndt;
- }
- protectedvoidMakeTree()
- {
- DataTabledt=GetTable(0);
- try
- {
- if(dt!=null)
- {
- for(inti=0;i<dt.Rows.Count;i++)
- {
- TreeNodetn=newTreeNode();
- 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(Exceptionex)
- {
- Response.Write(ex.Message);
- }
- }
这个方法对数据库的结构也有一定的要求,数据库的设计如下:
本文介绍了一种在项目中实现无限级树形菜单的方法。提供了后台代码示例,包括获取表格数据和构建树形结构的函数。这些函数依赖于特定的数据库结构。
7348

被折叠的 条评论
为什么被折叠?



