Dot-Net
如何將數據綁定到 System.Windows.Forms.Treeview 控制項?
我正在查看這個控制項,它似乎缺少用於數據綁定的標準 .net“數據源”和“數據成員”屬性。這個控制項不可綁定嗎?我想我可以編寫一些自定義函式來從給定的數據源填充樹視圖,並根據需要嵌入數據對象,但這是“最佳實踐”嗎?還是每個人都只是使用 3rd 方樹形視圖控制項?
您是正確的,因為沒有數據綁定。原因是 TreeViews 是分層資料結構。也就是說,不是一個直接的列表。因此,databind 選項對於說 List 結構是無效的。
可悲的是,它正在創建自己的填充方法或購買第 3 方控制項(最終將擁有自己的填充方法。)
這是一篇關於Binding Hierarchical Data的不錯的 MSDN 文章。
我使用 Developer’s Express 中的樹形控制項。它將獲取一個數據表並以分層方式顯示/編輯它。
它所需要的只是表中的一個主鍵欄位和一個父 id 欄位,它可以找出去哪裡。
如果您滾動自己的程式碼並使用自己的類,則可以做同樣的事情。
class Node { System.Collections.Generic.List<Node> _Children; String Description; void Node() { _Children = new System.Collections.Generic.List<Node>(); } public System.Collections.Generic.List<Node> Children() { return (_Children); } } class Program { static void Main(string[] args) { System.Collections.Generic.List<Node> myTree = new System.Collections.Generic.List<Node>(); Node firstNode = new Node(); Node childNode = new Node(); firstNode.Children().Add(childNode); } }