TreeView的问题,谢谢帮忙解决!!! 怎么样将TreeView里的所有数据都保存到数据库里去啊!还有每个节点的索引!帮忙看的了!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 创建数据表,就连接数据库,保存就是了, index, parent, text,简单地就3个字段够了。 自己寫函數去實現。用treeview.nodes 有两种办法。1.如果是自己维护结构,那么自己填数据就可以了。2.准备把结构交给用户维护的,那么自己要写一个外壳程序。设计思路是,用同类型的模版来维护本模版。也就是为了维护,你要设计几个列表框,点击一个以后,另外的一个则显示其子菜单,有几层,则几个列表框。而每个列表框中的Value值,则对应树行表中的ID,那么你可以在操作此列表框的同时,动态的修改了树形结构。另外,你也可以将其结构话为XML,然后遍历XML而形成树。XML本来就是树形的,这样的代码更加容易理解。 象你这样的,最好还是用XML算了。添加一个节点时,根据深度,在XML上写一个节点。点击确定时,读取,并存入数据库就可以了。 点击确定按钮的时候,删除数据库中所有的相关信息,遍历Tree下所有的node,每找到一个node就把此node的信息写入数据库,直到全部遍历完。 //使用时//ShowTreeViewNodes(this.treeView1);//看看是不是你想要的private void ShowSubNodes(TreeNode parent){ foreach(TreeNode node in parent.Nodes) { Console.WriteLine("Tag = {0}, Text = {1}",node.Tag,node.Text); if (node.Nodes.Count>0) { ShowSubNodes(node); } }}private void ShowTreeViewNodes(TreeView treeView){ foreach(TreeNode node in treeView.Nodes) { Console.WriteLine("Tag = {0}, Text = {1}",node.Tag,node.Text); if (node.Nodes.Count>0) { ShowSubNodes(node); } }} 首先要将TreeView和数据库对应起来,也就是做一个把TreeView数据转换为DataTable的方法,然后用DataTable更新数据库。 wdy9927() 给的代码参考下,数据表里的记录要有个记录父节点的字段。这样可以做出来了吧。自己多动思考,只想要代码COPY,怎么也不够自己解决学得多。 C#用WebRequest设置代理和超时,不返回 这个计时器的代码为什么错了? C#中怎么高效画大图片 DES加密\解密后,文字多了不少! 请教如何将一个字节数组序列化到一个XML字符串中? 这个问题很幼稚,不过俺不会,还是要问 关于选项卡问题 help!! 为何同一段程序两台机器跑,是两个情况? C#强行改变屏幕分辨为1024X768 请各位大虾指教? 在C#中如何做mdi子窗体? 关于Radiobuttom触发实现数据表切换的问题。 那里有net 2003下载
用treeview.nodes
1.如果是自己维护结构,那么自己填数据就可以了。
2.准备把结构交给用户维护的,那么自己要写一个外壳程序。设计思路是,用同类型的模版来维护本模版。也就是为了维护,你要设计几个列表框,点击一个以后,另外的一个则显示其子菜单,有几层,则几个列表框。而每个列表框中的Value值,则对应树行表中的ID,那么你可以在操作此列表框的同时,动态的修改了树形结构。另外,你也可以将其结构话为XML,然后遍历XML而形成树。XML本来就是树形的,这样的代码更加容易理解。
遍历Tree下所有的node,每找到一个node就把此node的信息写入数据库,直到全部遍历完。
//使用时
//ShowTreeViewNodes(this.treeView1);
//看看是不是你想要的private void ShowSubNodes(TreeNode parent)
{
foreach(TreeNode node in parent.Nodes)
{
Console.WriteLine("Tag = {0}, Text = {1}",node.Tag,node.Text); if (node.Nodes.Count>0)
{
ShowSubNodes(node);
}
}
}private void ShowTreeViewNodes(TreeView treeView)
{
foreach(TreeNode node in treeView.Nodes)
{
Console.WriteLine("Tag = {0}, Text = {1}",node.Tag,node.Text); if (node.Nodes.Count>0)
{
ShowSubNodes(node);
}
}}