急求如何把一个树形结构的数据库记录绑定到TreeView控件中

E诺千金 2012-04-10 09:52:45
比如说我的数据库TB_myBM表中有这么几个字段
id(int自动增长的) name(varchar)
1 部门 001
2 技术部 001001
3 市场部 001002
4 技术1部 001001001
5 技术2部 001001002
6 技术3部 001001003
7 市场1部 001002001
8 市场2部 001002002
9 市场3部 001002003
10 技术1部1小分部 001001001001
11 技术1部2小分部 001001001002


怎么用treeview递归树形绑定达到下面的效果:
部门
技术部
技术1部
技术1部1小分部
技术1部2小分部
技术2部
技术3部
市场部
市场1部
市场2部
市场3部

麻烦各位说清楚点带上后台代码,在此谢谢
...全文
144 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
芽疼 2012-04-10
  • 打赏
  • 举报
回复

/// <summary>
/// 添加树
/// </summary>
/// <param name="ParentID"></param>
/// <param name="pNode"></param>
protected void AddTree(string ParentID, TreeNode pNode)
{
string FuncCode = string.Empty;
string FuncName = string.Empty;
string FuncURL = string.Empty;
string FuncTarget = string.Empty;
string nSonCount = string.Empty;


DataView Dv = new DataView(m_Dt);
Dv.RowFilter = " SubString(FuncCode,1,Len(FuncCode)-2) = '" + ParentID + "'";

foreach (DataRowView Row in Dv)
{
FuncCode = Row["FuncCode"].ToString();
FuncName = Row["FuncName"].ToString();
FuncURL = Row["FuncURL"].ToString();//
FuncTarget = this.m_FuncTarget;
nSonCount = Row["nSonCount"].ToString();


TreeNode Node = new TreeNode();
Node.SelectAction = TreeNodeSelectAction.Expand;
if (FuncURL.IndexOf("?") < 3) FuncURL = FuncURL + "?1=1";
FuncURL = FuncURL + "&FuncCode=" + FuncCode + "&FuncName=" + Server.UrlEncode(FuncName);
Node.Target = FuncTarget;
Node.NavigateUrl = FuncURL;

if (pNode == null)
{
Node.Text = FuncName;
TreeView1.Nodes.Add(Node);

if (int.Parse(nSonCount) > 0) AddTree(FuncCode, Node);
}
else
{
Node.Text = FuncName;
pNode.ChildNodes.Add(Node);
if (int.Parse(nSonCount) > 0) AddTree(FuncCode, Node);
}
}
Dv = null;
}

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧