winform下樹和資料庫關聯操作是很常用的,下面的代碼是項目中用到的,從一個表生成樹
DataView dvTree;
private void InitTreeByDataSet( TreeNodeCollection nds, string parentID, DataSet ds )
{
dvTree = new DataView();
TreeNode tempNode;
dvTree.Table = ds.Tables[0];
//判斷ParentServiceTypeID是否為null,并生成不同的過濾條件
if ( parentID == "Isnull(ParentServiceTypeID,'Null Column') = 'Null Column'" )
{
dvTree.RowFilter = parentID ;
}
else
{
dvTree.RowFilter = "ParentServiceTypeID ='" + parentID +"'";
}
foreach ( DataRowView drvTree in dvTree )
{
tempNode = new TreeNode();
tempNode.Text = drvTree["Name"].ToString();
tempNode.Tag = drvTree["PKFieldValue"].ToString();
nds.Add(tempNode );
//遞歸調用
InitTreeByDataSet( tempNode.Nodes, tempNode.Tag.ToString(), ds );
}
}