我想实现c#winform访问access数据库,并用数据库动态生成treeview节点

看了很多例子,都是如何把现有表的数据添加进treeview里,并生成相应级别的节点。
我需要完成的是:除了能加节点进来,还要通过窗口添加地址,把地址分段按级别放到数据库表里,并生成相应的id号和pid号。这个该怎么实现呢,希望朋友们能讲的详细一点,非常感谢。
还要让 一级节点的编号为001,002,003……等。
然后下一级的编号为。001001,001002,001003,……002001,002002,002003……
数据库中现有的记录能生成相应的记录,同时在treeview的某个节点处,点右键,选“添加”。可以把生成新的节点,同时把该节点相应的id和pid的值也生成放到数据库里边。。。

我觉得好难做呀。大家可以说的具体一点好吗,谢谢。

private DataTable dt = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
dt = help.fangfa("select * from tree").Tables[0];//查询数据库数据
TreeView(0, TreeView1.Nodes);//调用下面方法
}

}
private void TreeView(int a, TreeNodeCollection node) //treeview 集合
{
DataRow[] dr = dt.Select("P_tree_id=" + a);//筛选与0匹配的父级
TreeNode tn = null; //创建树节点
foreach (DataRow li in dr)
{
tn = new TreeNode();
tn.Text = li["tree_bumen"].ToString(); //筛选子级
tn.Value = li["tree_id"].ToString();
TreeView(Convert.ToInt32( li["tree_id"].ToString()), tn.ChildNodes);//在遍历父级以下节点
node.Add(tn); //把节点加入集合
}
}
楼主自己看吧,相信你能看懂
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-01
这个很难吗?

你需要在数据库中加一个列表示当前节点的父节点,或它的路径。我用的是路径

id号
名称
路径

根节点的路径为空。

要加入一个point1.point2.point3.point4

只要依据“.”号把上面路径切开,然后,一个个构造成相应的数据对像写入数据库就行了
相似回答