首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
star33375249 (2)
longrujun (66)
coofucoo (111)
EmilMatthew (74)
fancyhf (2)
yzsind (42)
qdzx2008 (52)
Kendiv (114)
btbtd (84)
soft_bird (8)
CSDN - 文档中心 - .NET 阅读:2211   评论: 1    参与评论
标题   不用第归算法快速显示树,对于Oracle数据库(1)     选择自 wangj2001 的 Blog
关键字   C#,TreeView,Oracel
出处  

在显示不确定树节点多少时,我们绝大多数使用第归算法,要多次和数据库进行连接操作取数据,下面我讲的算法,仅仅只和数据操作一次,然后用动态数组在树型控件中显示,快速方便。我以实例给大家演示,熟悉制造行业的朋友一般都知道BOM(产品结构)Oracle给大家提供一个非常方便的功能,一次可以把整个产品的结构全部取出来,比如:

select level ID, 父物料编码,子物料编码 from TB_产品结构表 connect by prior 子物料编码 = 父物料编码 start with 父物料编码=’10C000000’

(图一)

(图一)为取出的结构的部分,ID是相对于根节点的层次,我根据取出来的纪录的规律性,但是他不包含子物料编码为根节点的信息,所有在构造树控件时要注意添入根节点的信息,作了一个特定的树控件,只要把取出来的纪录付给树控件的DataSource,就能方便的显示树,再次重用时,特别方便,只要在界面中加入控件,然后给纪录集就可以了。

定义节点的信息,可以便于你在节点填充更多从数据库取出来的信息。

using System;

using System.Collections;

using System.ComponentModel;

using System.Drawing;

using System.Data;

using System.Windows.Forms;

 

namespace BQ_TreeView

{

    /// <summary>

    /// /重载树节点的类,这个可以扩展,便于填充更多的信息

    /// </summary>

 

    public class BQ_TreeNode:TreeNode

    {

        private string m_MatID;

        public BQ_TreeNode()    {}

        /// <summary>

        /// 构造函数

        /// </summary>

        /// <param name="strText">节点要显示的文本</param>

        public BQ_TreeNode(string strText)

        {

            base.Text=strText;

        }

        public string MatID

        {

            get

            {

                return m_MatID;

            }

            set

            {

                m_MatID=value;

            }

        }  

    }

 

 }


相关文章
对该文的评论
tinkong ( 2004-03-11)
看看.....