首页 > 开发 > 综合 > 正文

不用第归算法快速显示树,对于Oracle数据库(1)

2024-07-21 02:23:50
字体:
来源:转载
供稿:网友
在显示不确定树节点多少时,我们绝大多数使用第归算法,要多次和数据库进行连接操作取数据,下面我讲的算法,仅仅只和数据操作一次,然后用动态数组在树型控件中显示,快速方便。我以实例给大家演示,熟悉制造行业的朋友一般都知道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;

}

}

}



}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表