當前位置:編程學習大全網 - 源碼下載 - C# treeview

C# treeview

妳是要動態生成還是靜態生成??靜態的就直接在設計器treeview?的Nodes屬性裏添加就可以了?

動態的話給妳個源碼。

public?void?AddTree(int?ParentID,?TreeNode?pNode,?TreeView?treeView,?DataTable?dt)

{

DataView?dvTree?=?new?DataView(dt);

//過濾ParentID,得到當前的所有子節點

//dvTree.RowFilter?=?"[PARENTID]?=?"?+?ParentID;

dvTree.RowFilter?=?"[PARENTID]="?+?ParentID;

foreach?(DataRowView?Row?in?dvTree)

{

TreeNode?Node?=?new?TreeNode();

if?(pNode?==?null)

{//添加根節點

Node.Text?=?Row["projectName"].ToString();

treeView.Nodes.Add(Node);

//Node.Expanded?=?true;

AddTree(Int32.Parse(Row["projectID"].ToString()),?Node,?treeView,?dt);//再次遞歸

}

else

{//?添加當前節點的子節點

Node.Text?=?Row["ProjectName"].ToString();

pNode.Nodes.Add(Node);

//Node.Expanded?=?true;

AddTree(Int32.Parse(Row["projectID"].ToString()),?Node,?treeView,?dt);?//再次遞歸

}

}

}

private?void?動態treeview_Load(object?sender,?EventArgs?e)

{

SqlConnection?conn?=?new?SqlConnection();

conn.ConnectionString?=?"data?source=.;database=sysdata;uid=sa;pwd=;";

conn.Open();

SqlDataAdapter?sqlda?=?new?SqlDataAdapter("select?*?from?project",conn);

DataSet?ds?=?new?DataSet();

sqlda.Fill(ds);

conn.Close();

AddTree(0,?(TreeNode)null,treeView1,ds.Tables[0]);

}

結果如圖?

數據庫設計就是三個字段?當然?妳也可以設計更多

我數據表的三個字段projectId?//項目編碼?projectName//項目名?顯示出來是節點的標簽

ParentId?父節點的編碼

  • 上一篇:生活在廣州,是搖節能指標還是競價拍指標?
  • 下一篇:商務會議中收發名片的禮儀。
  • copyright 2024編程學習大全網