我已經開發了一個應用程序,用於從數據庫中的分層數據填充樹視圖。如果孩子存在,如何僅顯示TreeView展開標誌[+]
我將它設計爲使用延遲加載,因此它只在展開節點時獲取子節點。
我的問題是,顯然我不知道節點是否有孩子,除非我打電話給數據庫,然後看。目前我已經實現了一個虛擬子節點,因此所有節點都會出現[+]圖標,然後刪除此虛擬節點並獲取BeforeExpand
事件中的真實子節點。
這意味着我得到一個沒有子節點的節點的[+]圖標,所以用戶點擊展開圖標,沒有任何顯示看起來有點低劣。
在懶加載樹視圖中處理子節點的preffrred方法是什麼?如果我調用數據庫來查看是否有子節點,那麼我可能只是加載子節點並忘記延遲加載權?
我想過的一個想法是在數據庫中存儲一個'HasChildren'標誌,所以我可以選擇性地創建我的虛擬子節點,僅用於實際上有有子節點的節點。
對不起,漫無邊際地講,我看其他人的想法很感興趣......
順便說一句:這是Visual Studio 2005中的Treeview – 2009-05-29 16:02:26