用递归绑定数据库中的数据并显示在treeview中
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
this.tvMenu.Dispose();
GetDataToTable(); //填充数据方法
GetNode(this.tvMenu.Nodes, "0"); //使用递归方法动态添加节点
}
}
/// <summary>
/// DataSet读取数据
/// </summary>
private void GetDataToTable() {
string str = "server=.;database=MyOffice;uid=sa;pwd=sa2008";
SqlConnection conn = new SqlConnection(str);
string sql = "select * from SysFun";
SqlDataAdapter dd = new SqlDataAdapter(sql, conn);
dd.Fill(ds, "SysFun");
}
/// <summary>
/// 使用递归动态添加节点
/// </summary>
/// <param name="tnc"></param>
/// <param name="patentId"></param>
private void GetNode(TreeNodeCollection tnc, string patentId) {
DataView dv = new DataView();
dv.Table=ds.Tables["sysfun"];
TreeNode tn = null;
dv.RowFilter = "ParentNodeId=" + patentId;
foreach (DataRowView drv in dv)
{
tn = new TreeNode();
tn.Value = drv["NodeId"].ToString();
tn.Text = drv["DisplayName"].ToString();
tn.NavigateUrl = drv["NodeURL"].ToString();
tnc.Add(tn);
GetNode(tn.ChildNodes, tn.Value);
}
}
用递归绑定数据库中的数据并显示在treeview中
最新推荐文章于 2023-06-02 21:25:48 发布