<asp:TreeView ID="DirectoryTree" runat="server" ExpandDepth="1" ImageSet="Simple" OnTreeNodePopulate="DirectoryTree_TreeNodePopulate">
<Nodes>
<asp:TreeNode PopulateOnDemand="True" Selected="True" Text="勘探规划管理系统" Value="1"></asp:TreeNode>
</Nodes>
</asp:TreeView>
CS:
protected void DirectoryTree_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
StringBuilder sqlQuery = new StringBuilder();
sqlQuery.Append("SELECT SJBM.BMXH,SJBM.BMMZ FROM SJBM WHERE FBM =");
sqlQuery.Append(e.Node.Value);
DataTable ChildsTable = DataAccess.getDataTable(sqlQuery.ToString());
if (ChildsTable.Rows.Count > 0)
{
foreach (DataRow row in ChildsTable.Rows)
{
StringBuilder jugeQuery = new StringBuilder();
jugeQuery.Append("SELECT COUNT(BMXH) FROM SJBM WHERE FBM =");
jugeQuery.Append(row["BMXH"].ToString());
DataTable ISChildsTable = DataAccess.getDataTable(jugeQuery.ToString());
if (ISChildsTable.Rows.Count > 0)
{
TreeNode NewNode = new
TreeNode(row["BMMZ"].ToString(),
row["BMXH"].ToString());
NewNode.PopulateOnDemand = true;
NewNode.SelectAction = TreeNodeSelectAction.Select;
e.Node.ChildNodes.Add(NewNode);
}
else
{
TreeNode NewNode = new
TreeNode(row["BMMZ"].ToString(),
row["BMXH"].ToString());
NewNode.PopulateOnDemand = false;
NewNode.SelectAction = TreeNodeSelectAction.Select;
e.Node.ChildNodes.Add(NewNode);
}
}
}
}
<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
void Treeview1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
if (IsCallback)
if (e.Node.ChildNodes.Count == 0)
{
LoadChildNode(e.Node);
}
}
private void LoadChildNode(TreeNode node)
{
DirectoryInfo directory;
directory = new DirectoryInfo(node.Value);
foreach (DirectoryInfo sub in directory.GetDirectories())
{
TreeNode subNode = new TreeNode(sub.Name);
subNode.Value = sub.FullName;
try
{
if (sub.GetDirectories().Length > 0 || sub.GetFiles().Length > 0)
{
subNode.SelectAction = TreeNodeSelectAction.SelectExpand;
subNode.PopulateOnDemand = true;
subNode.NavigateUrl = "#";
}
}
catch { subNode.ImageUrl = "WebResource.axd?a=s&r=TreeView_XP_Explorer_ParentNode.gif&t=632242003305625000"; }
node.ChildNodes.Add(subNode);
}
foreach (FileInfo fi in directory.GetFiles())
{
TreeNode subNode = new TreeNode(fi.Name);
node.ChildNodes.Add(subNode);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body bgcolor="white">
<form id="form1" runat="server">
<div>
<asp:treeview ID="Treeview1" runat="server" ImageSet="XPFileExplorer" AutoGenerateDataBindings="false" ExpandDepth=0
OnTreeNodePopulate="Treeview1_TreeNodePopulate"
>
<SelectedNodeStyle BackColor="#B5B5B5"></SelectedNodeStyle>
<Nodes>
<asp:TreeNode Value="C:" Text="C:" PopulateOnDemand="true" SelectAction="Select" NavigateUrl="#" >
</asp:TreeNode>
</Nodes>
<NodeStyle VerticalPadding="2" Font-Names="Tahoma" Font-Size="8pt" HorizontalPadding="2"
ForeColor="Black"></NodeStyle>
<HoverNodeStyle Font-Underline="True" ForeColor="#6666AA"></HoverNodeStyle>
</asp:treeview>
</div>
</form>
</body>
</html>