62,041
社区成员
发帖
与我相关
我的任务
分享
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["Expand"] = "0";
BindTree();
TreeNodesExpandStateManager.RestoreExpandStateToTreeFromSession(trvTest);
}
}
private void BindTree()
{
DataTable dataTableParent = GetSourceParent();
DataTable dataTableDetail = GetSourceDetail();
foreach (DataRow dr in dataTableParent.Select("", "ParentId desc"))
{
TreeNode treeNode = new TreeNode(dr["Name"] as string);
trvTest.Nodes.Add(treeNode);
foreach (DataRow _dr in dataTableDetail.Select("parentid=" + (dr["parentid"] as string)))
{
treeNode.ChildNodes.Add(new TreeNode(_dr["Name"] as string));
}
}
}
DataTable GetSourceDetail()
{
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Name");
dt.Columns.Add("ParentId");
DataRow dataRow;
dataRow = dt.NewRow();
dataRow["Id"] = 1;
dataRow["Name"] = "asp";
dataRow["parentid"] = "1";
dt.Rows.Add(dataRow);
dataRow = dt.NewRow();
dataRow["Id"] = 2;
dataRow["Name"] = "js";
dataRow["parentid"] = "1";
dt.Rows.Add(dataRow);
dataRow = dt.NewRow();
dataRow["Id"] = 3;
dataRow["Name"] = "css";
dataRow["parentid"] = "1";
dt.Rows.Add(dataRow);
dataRow = dt.NewRow();
dataRow["Id"] = 4;
dataRow["Name"] = "C#";
dataRow["parentid"] = "2";
dt.Rows.Add(dataRow);
dataRow = dt.NewRow();
dataRow["Id"] = 5;
dataRow["Name"] = "asp.net";
dataRow["parentid"] = "2";
dt.Rows.Add(dataRow);
return dt;
}
DataTable GetSourceParent()
{
DataTable dt = new DataTable();
dt.Columns.Add("ParentId");
dt.Columns.Add("Name");
DataRow dataRow;
dataRow = dt.NewRow();
dataRow["Name"] = "web";
dataRow["parentid"] = "1";
dt.Rows.Add(dataRow);
dataRow = dt.NewRow();
dataRow["Name"] = ".net";
dataRow["parentid"] = "2";
dt.Rows.Add(dataRow);
return dt;
}
protected void btnGo_Click(object sender, EventArgs e)
{
TreeNodesExpandStateManager.SaveExpandStateInSession(trvTest);
Response.Redirect("Default2.aspx");
}
protected void btnToggle_Click(object sender, EventArgs e)
{
if (Expand == "0")
{
trvTest.ExpandAll();
Expand = "1";
}
else
{
trvTest.CollapseAll();
Expand = "0";
}
}
public string Expand
{
get
{
return ViewState["Expand"] as string;
}
set
{
ViewState["Expand"] = value;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="trvTest" runat="server" ImageSet="BulletedList2"
ExpandDepth="0" >
<NodeStyle VerticalPadding="2" Font-Names="Tahoma" Font-Size="8pt" HorizontalPadding="2"
ForeColor="Black"></NodeStyle>
</asp:TreeView>
<asp:Button ID="btnGo" runat="server" Text="Go" OnClick="btnGo_Click" />
<asp:Button ID="btnToggle" runat="server" Text="Expand All" OnClick="btnToggle_Click" />
</div>
</form>
</body>
</html>