菜鸟求递归(Tree),求大神踊跃回复
有一张数据表 结构如下现在想在程序里面以树结构的形式展现
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Text;
public partial class _Default : System.Web.UI.Page
{
public DataTable dt = null; //用来存储填充树的数据
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
dt= GetDataSource();
}
}
/// <summary>
/// 获取数据
/// </summary>
/// <returns>DataTable</returns>
private DataTable GetDataSource()
{
string sqlConnectionString = "Data Source=.;Initial Catalog=testDB;uid=sa;pwd=123";
string sqlText = "select id,name,parentID from TreeNode";
SqlConnection connection = null;
SqlDataAdapter dataadapter = null;
try
{
connection = new SqlConnection(sqlConnectionString);
using (dataadapter=new SqlDataAdapter(sqlText,connection))
{
}
DataTable dt = new DataTable();
dataadapter.Fill(dt);
return dt;
}
catch (Exception ex)
{
return null;
throw ex;
}
finally {
connection.Close();
}
}
/// <summary>
/// 用来加载层次结构
/// </summary>
/// <param name="parentNode"></param>
private void LoadTree(int parentID)
{
//现在关于这个方法怎么实现,是否还需要一个参数,求思路
StringBuilder sbuilder = new StringBuilder();
foreach (DataRow item in dt.Rows)
{
}
}
}
--------------------编程问答-------------------- private void LoadTree(int parentID)
=>
private void LoadTree(TreeNode tn)
你的id应该以tag的形式放在tn中。 --------------------编程问答-------------------- 递归绑定TreeView,太常见的功能了,请参考:
http://blog.csdn.net/taomanman/article/details/4816297
http://blog.csdn.net/taomanman/article/details/6561233 --------------------编程问答-------------------- 给你一个id(这里是1)以及一个TreeNodeCollection,你是否能够查询到这个id下的所有子id(这里就是2、3、4)并且为这个TreeNodeCollection对象分别添加这几个节点呢?
能够写出这几行程序,那么针对你添加的节点,再次调用自身这个方法就行了。
代码自然会有人提供的! --------------------编程问答-------------------- 要注意,树的顶端通常其实不显示那一个(id为1的)TreeNode。也就是往往是直接使用 TreeView 的 Nodes 属性作为插入实际的一层节点的根,因此你最好找一个使用TreeNodeCollection类型参数的例子,而不是以TreeNode类型参数的例子。
当然更重要滴是了解了递归的概念,自己变通也很简单。 --------------------编程问答--------------------
可以参考一下! --------------------编程问答-------------------- 你会发现节点上几百个之后运行效率非常的低。。。。我前几周会用treeview之后就放弃了,现在用的异步加载树类似CSDN论坛左边的
补充:.NET技术 , ASP.NET