C 實現無限級分類樹

2021-05-21 10:52:16 字數 704 閱讀 8093

開發工具以及開發語言:visual studio.net 2005 c#

資料庫:sql server 2000

資料庫名:ielkq 密碼為空

向裡面新增如下資料(注,其中的部門名稱是我亂來的)

解釋:dept_id是部門號,name_dep是部門名稱,id_dept是所屬的部門號,其意義是,如:dept_id 為000000 name_dep為北京檢查院,id_dept為000000表示這是根節點,也就是一級節點,又如:dept_id為000004,name_dep為成都檢查院,id_dept為000004也是指這是根節點,也是一級節點,又如dept_id為000002,name_dep為檢查辦,id_dept為000000,表示這個部門是北京檢查院的下級部門,也就是二級節點,dept_id為000003這個部門是dept_id為000001的子部門,是它的更下一級節點,

需要的控制項不多,乙個treeview控制項,其dock屬性設定為fill,然後乙個button,其text屬性設定為"分類"

大概思路是這樣的:現把一級節點(根節點)找出來,也就是dept_id和id_dept相同的記錄,然後再用dept_id去找和id_dept相同的記錄,那麼這些記錄就是二級節點,在addnote(...)函式中把這些二級節點的記錄記錄在一張新錶中(這就是為什麼要不斷建立新錶的原因),並用foreach迴圈新增這些二級節點,迴圈中使用遞迴,這樣就不斷的新增**節點,四季節點等等節點這樣功能就實現了

無限級分類的實現

在我們做 的時候,不管是新聞系統還是產品系統,或者是部落格,論壇等等,都少不了與分類打交道。有時候我們經常說分幾級分類,一般分2 3級,具體視情況而定,但是這樣的做法非常死板,不夠靈活,因為不是任何類別下的分類都有子類,孫類 為了能夠使分類靈活,我們經常採用的是無限級分類。無限級分類主要思路有兩種 ...

無限級分類實現思路

關於該問題,暫時自己還沒有深入研究,在網上找到幾種解決方案,各有優缺點。第一種方案 使用遞迴演算法,也是使用頻率最多的,大部分開源程式也是這麼處理,不過一般都只用到四級分類。這種演算法的資料庫結構設計最為簡單。category表中乙個欄位id,乙個欄位fid 父id 這樣可以根據where id f...

無限級分類實現思路

關於該問題,暫時自己還沒有深入研究,在網上找到幾種解決方案,各有優缺點。第一種方案 使用遞迴演算法,也是使用頻率最多的,大部分開源程式也是這麼處理,不過一般都只用到四級分類。這種演算法的資料庫結構設計最為簡單。category表中乙個欄位id,乙個欄位fid 父id 這樣可以根據where id f...