国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

不用第歸算法快速顯示樹,對于Oracle數(shù)據(jù)庫(2)

2024-08-29 13:35:24
字體:
供稿:網(wǎng)友

  namespace BQ_TreeView

{/// <summary>

/// BQ_TreeView 的摘要說明

/// </summary>

public class BQ_TreeView : System.Windows.Forms.TreeView

{

PRivate System.ComponentModel.Container components = null;

private DataTable m_tb=null;

private string m_RootMatID;

BQ_TreeNode RootNode=null;

ArrayList alNode=new ArrayList ();

public BQ_TreeView()

{

InitializeComponent();

}

protected override void Dispose( bool disposing )

{

if( disposing )

{

if(components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}



#region

private void InitializeComponent()

{

components = new System.ComponentModel.Container();

}

#endregion



/// <summary>

///定義數(shù)據(jù)源

/// </summary>

public DataTable TreeDataSource

{

set

{

m_tb=value;

}

}

/// <summary>

///清空所有樹控件中的信息

/// </summary>

private void clear()

{

if(RootNode!=null)

{

RootNode.Nodes .Clear ();

if(RootNode!=null)

{

try

{

RootNode.Remove ();

}

catch

{}

}

}

if(alNode!=null)

if(alNode.Count >0)

alNode.Clear ();

}

/// <summary>

/// 構(gòu)造樹控件

/// </summary>

public void MakeTree()

{


clear();//清除樹節(jié)點中的資源

Cursor.Current =Cursors.WaitCursor ;

// 首先要給根節(jié)點付值,因為取出來的結(jié)構(gòu)中沒有根節(jié)點的信息

RootNode=new BQ_TreeNode(m_RootMatID);

RootNode.MatID =m_RootMatID;

alNode.Add(RootNode);

this.Nodes .Add (RootNode);

foreach(DataRow row in m_tb.Rows )

{

BQ_TreeNode FNode=null;

BQ_TreeNode CNode=null;

CNode=MakeArray(row["ID"].ToString (),row["物料編碼"].ToString (),out FNode);

FNode.Nodes.Add (CNode);

}

RootNode.EXPand ();

Cursor.Current =Cursors.Default ;

}

// <summary>

/// 構(gòu)造一個動態(tài)數(shù)組,模擬樹控件一個分叉的線性結(jié)構(gòu),每一次都是最新的線性結(jié)構(gòu),這整個控件要害地方

/// </summary>

/// <param name="strID">層次</param>

/// <param name="MatID">物料編碼</param>

/// <param name="nodeF">父節(jié)點</param>

/// <returns>構(gòu)造的節(jié)點</returns>。

private BQ_TreeNode MakeArray(string strID,string MatID,out BQ_TreeNode nodeF) {

try

{

BQ_TreeNode node=new BQ_TreeNode (MatID);

node.MatID =MatID;

BQ_TreeNode nodeRet=null;

int nGrade=int.Parse (strID);

if(nGrade==0)

{

}

else

{

if(alNode.Count>=nGrade+1)

{

alNode[nGrade]=node;

nodeRet=(BQ_TreeNode)alNode[nGrade-1];

}

else

{

alNode.Add (node);

nodeRet=(BQ_TreeNode)alNode[nGrade-1];

}

}

nodeF=nodeRet;

return node;

}

catch(Exception e)

{

throw new Exception("",e);

}


}

public string RootMatID

{

get

{

return m_RootMatID;

}

set

{

m_RootMatID=value;

}

}

}

}

經(jīng)過編譯就可以把控件BQ_TreeView添加進(jìn)來,如下圖(圖2)


在應(yīng)用程序中只要

編寫

bQ_TreeView1.RootMatID=strRootID;

bQ_TreeView1.TreeDataSource=tbProInfo;

bQ_TreeView1.MakeTree();

就可以顯示整個BOM結(jié)構(gòu),tbProInfo為上面的Sql語句取出的表結(jié)構(gòu)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 海原县| 安西县| 武宁县| 延吉市| 宜春市| 东港市| 徐汇区| 清远市| 内江市| 合川市| 通化市| 万荣县| 合作市| 曲阜市| 鄂州市| 来安县| 太仆寺旗| 高清| 北安市| 凤庆县| 凤阳县| 漳浦县| 古丈县| 新晃| 霸州市| 沂源县| 石楼县| 辽源市| 阿坝| 东方市| 通化市| 贵阳市| 宜兴市| 台安县| 拉萨市| 措勤县| 永新县| 上虞市| 平陆县| 库车县| 斗六市|