天天看點

C# Winform中Tree和資料庫關聯操作的例子

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 );
            }
        
        }