62,050
社区成员
发帖
与我相关
我的任务
分享
private void Bind(TreeNode parent)
{
DataTable dt = get();
if (parent != null)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["d_id"].ToString().IndexOf(parent.Value) == 0&&!dt.Rows[i]["d_id"].ToString().Equals(parent.Value)&&dt.Rows[i]["d_id"].ToString().Length==parent.Value.Length+3)
{
TreeNode tn=new TreeNode();
tn.Text=dt.Rows[i]["d_name"].ToString();
tn.Value = dt.Rows[i]["d_id"].ToString();
parent.ChildNodes.Add(tn);
Bind(tn);
}
}
}
else
{
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["d_id"].ToString().Length == 3)
{
TreeNode tn = new TreeNode();
tn.Text = dt.Rows[i]["d_name"].ToString();
tn.Value =dt.Rows[i]["d_id"].ToString();
TreeView1.Nodes.Add(tn);
Bind(tn);
}
}
}
}
private void bind()
{
string temp = "<ul class='simpleTree'>";
DataSet ds = db.getDs();
DataRow[] dr = ds.Tables[0].Select("department_code='001'");
Response.Write("为了测试,当前总行数为:" + "<a style='color=red'>"+ds.Tables[0].Rows.Count+"</a><div style='height=10px;background-color:white'></div>");
foreach (DataRow r in dr)
{
string name = r["department_name"].ToString();
string code = r["department_code"].ToString();
temp += "<li class='root' id='li1' name='" + name + "'><span id='s1' oncontextmenu = showMenu('" + i + "') name='" + name + "' class='" + code + "'>" + name + "</span>";
if (AddChildNode(ds, code) != "" || AddChildNode(ds, code)!=null)
{
temp += "<ul>" + AddChildNode(ds, code);
ds.Tables[0].Rows.Remove(r);
}
}
temp += "</ul>";
mytree.InnerHtml = temp;
}
public string AddChildNode(DataSet ds, string department_code)
{
i++;
string a = "";
DataRow[] dr = ds.Tables[0].Select("parent_department='" + department_code + "'");
int count = dr.Length;
if (dr != null)
{
foreach (DataRow r in dr)
{
string code = r["department_code"].ToString();
string name = r["department_name"].ToString();
a += "<li id='li" + i + "' class='" + code + "' name='" + name + "'><span id='s" + i + "' oncontextmenu = showMenu('" + i + "') name='" + name + "' class='" + code + "'>" + name + "</span></li>";
if (AddChildNode(ds, code) == "" || AddChildNode(ds, code) == null)
{
}
else
{
a += "<ul>" + AddChildNode(ds, code) + "</ul>";
}
}
}
return a;
}
/// <summary>
/// 生成树形控件
/// </summary>
private void CreateTree()
{
//先获取ParentNodeID为0的数据对象集合,这里称为父节点
//GetFaterNodes();是获取父节点的方法 [slelec * from NodeLink where ParentNodeID=0]
List<NodeLink> nodesParent = ServerInfoManage.GetFaterNodes();//楼主,对比上面的数据列
foreach (NodeLink PNode in nodesParent)//遍历父节点集合
{
TreeNode PTree = new TreeNode();
PTree.Text = PNode.NodeName;
PTree.NavigateUrl = PNode.NodeUrl;
//获取父节点下的子节点
//GetSubNodesByNID方法是获取子节点的方法[select * from NodeLink where NodeID=@PNode.NodeID]
List<NodeLink> subNodes = ServerInfoManage.GetSubNodesByNID(PNode.NodeID);//注意参数
foreach (NodeLink subNode in subNodes)//遍历子节点集合,并添加到父节点
{
TreeNode subTree = new TreeNode();
subTree.Text = subNode.NodeName;
subTree.NavigateUrl = subNode.NodeUrl;
PTree.ChildNodes.Add(subTree);
}
tvUrls.Nodes.Add(PTree);//把父节点添加到树形控件[tvUrls]中
}
}
WITH locs(ArticleReplyId,ParentId,ParentUserName,UserId,ArticleTitle,loclevel)
AS
(
SELECT ArticleReplyId,ParentId,ParentUserName,UserId,ArticleTitle,0 AS loclevel FROM ArticleReply_tb
WHERE ParentId is null
UNION ALL
SELECT l.ArticleReplyId,l.ParentId,l.ParentUserName,l.UserId,l.ArticleTitle,loclevel+1 FROM ArticleReply_tb l
INNER JOIN locs p ON l.ParentId=p.UserId
)
SELECT * FROM locs