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

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

我觉得好难做呀。大家可以说的具体一点好吗,谢谢。
展开
 我来答
毛佳源
2010-03-01 · TA获得超过114个赞
知道小有建树答主
回答量:218
采纳率:0%
帮助的人:170万
展开全部
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); //把节点加入集合
}
}
楼主自己看吧,相信你能看懂
skynomadism
2010-03-01 · TA获得超过319个赞
知道小有建树答主
回答量:410
采纳率:100%
帮助的人:166万
展开全部
这个很难吗?

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

id号
名称
路径

根节点的路径为空。

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

只要依据“.”号把上面路径切开,然后,一个个构造成相应的数据对像写入数据库就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式