DataSet dataSet = new DataSet(); SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCmd); sqlDataAdapter.Fill(dataSet); DataTable dt = dataSet.Tables[ 0 ]; SetTreeViewNode(dt, " 0000 " , null ); } } private void SetTreeViewNode(DataTable dt , string parentID , TreeNode treeNode) { DataView dv = dt.DefaultView; dv.Sort = " bookCatIDParent " ; DataRowView[] drvs = dv.FindRows(parentID); if (drvs.Length > 0 ) { foreach (DataRowView drv in drvs) { String bookCatIDParent = drv[ " bookCatID " ].ToString(); String bookCatDesc = drv[ " bookCatDesc " ].ToString(); TreeNode newTreeNode = new TreeNode( bookCatDesc + " [ " + bookCatIDParent + " ] " ); SetTreeViewNode(dt, bookCatIDParent, newTreeNode); SetTreeView(treeNode, newTreeNode); } } } private void SetTreeView(TreeNode treeNode, TreeNode newTreeNode) { if (treeNode == null ) BookViewTreeView.Nodes.Add(newTreeNode); else treeNode.ChildNodes.Add(newTreeNode); } }