[C#]读取数据库,动态生成TreeView[递归]
2011-12-14 14:22
597 查看
我自己的画图界面已经做完了,现在开始连接后台,引用WEB服务,然后读取数据库,有个地方要动态生成树,昨天弄了半天,结果怎么弄怎么是死循环,领导又去开会,结果钻进牛角尖就出不来了,还好今天早上领导一来看看我的代码,一眼就看出毛病了,我也恍然大悟,看来自己对数据机构和算法这些基础内容还有很大的欠缺啊,现在终于写出来, 把结果和大家分享,昨天上网看的时候发现有人和我一样的问题。
注:CatalogNode类是我自己写的一个继承自TreeNode的类,多了id(long) , parentId(long)和description(string)属性,用起来方便,没其他的。
service是公司自己研发的框架,面向对象的数据库操作~所以查出来的直接是数组~
private void init() { this.m_userId = 101; this.comboBox1.Items.Clear(); this.treeView.Nodes.Clear(); CatalogNode rootNode = new CatalogNode("请选择分类"); rootNode.Id = 0; this.treeView.Nodes.Add(rootNode); this.showTreeView(rootNode); this.treeView.Nodes[0].Expand(); } private void showTreeView(CatalogNode parentNode) { //从数据库中查寻结果 catalogBean[] cataArray = this.m_service.queryCatalogs(parentNode.Id, this.m_userId); if(null == cataArray){ return; } for (int i = 0; i < cataArray.Length; i++) { CatalogNode cn = new CatalogNode(cataArray[i].name); cn.Id = cataArray[i].id; cn.ParentId = cataArray[i].parentId; cn.Description = cataArray[i].description; this.comboBox1.Items.Add(cn.Name); parentNode.Nodes.Add(cn); } foreach (CatalogNode cn in parentNode.Nodes) { this.showTreeView(cn); } }
注:CatalogNode类是我自己写的一个继承自TreeNode的类,多了id(long) , parentId(long)和description(string)属性,用起来方便,没其他的。
service是公司自己研发的框架,面向对象的数据库操作~所以查出来的直接是数组~
相关文章推荐
- C# TreeView菜单,MenuStrip菜单递归动态生成例子
- c#从数据库读取数据动态生成树形菜单
- C# TreeView菜单,MenuStrip菜单递归动态生成例子
- C# TreeView菜单,MenuStrip菜单递归动态生成例子
- C# TreeView菜单,MenuStrip菜单递归动态生成例子
- C# TreeView菜单,MenuStrip菜单递归动态生成例子
- C# TreeView 控件的父子节点动态生成
- java从数据库读取菜单,递归生成菜单树
- 用C#从数据库动态生成AdminLTE菜单的一种方法
- ASP.NET TreeView根据数据库动态生成
- c#语言asp.net实现treeview控件读数据库动态生成树的代码
- c#递归 读取文件目录,然后绑定treeview
- 用C#从数据库动态生成AdminLTE菜单的一种方法
- C# WinForm TreeView 动态生成 无限级树 Log4net SQLite
- C#读取Excel数据动态生成对象并进行序列化
- 【寻求】关于C#映射动态生成类方面的资料(不是数据库映射生成类)
- C#动态递归绑定TreeView(WinForm)
- 用C#从数据库动态生成AdminLTE菜单的一种方法
- asp.net2.0从数据库中读取数据生成分层的结构化TreeView
- easyUI( accordion +tree)动态生成导航菜单(数据库读取数据)