我的C#winform中有一個TreeView。我希望能夠通過搜索框添加搜索功能。 基本上,當用戶輸入字母(我猜對_TextChanged事件)時,我只顯示包含輸入字母的子節點的節點...在C#winforms應用程序中使用文本框過濾TreeView
我的TreeView包含53個父節點,總數超過15000節點,所以我需要一些高性能的東西。我建立從CSV我的TreeView,我加載到數據表中,然後進行查詢與相關子節點獲取父節點...
UPDATE
我有一個想法。 最終目標是當用戶雙擊子節點時,它將被添加到listView中。
我第一次在一個簡單的列表視圖中實現了這個搜索功能,我沒有將我的數據分成不同的類別。
我的想法是,一旦用戶開始在打字的事情,我關掉我的樹狀視圖,並顯示在列表視圖,而不是...
我會嘗試和實施,看看它給性能明智..任何關於這個想法的批評都是受歡迎的。
15000 - 文本節點,如果你是一個現代的PC上運行的不是太多。你甚至可以過濾樹,關鍵是要有一個聰明的策略來避免性能問題。我會試着描述一個。帶有列表的解決方案在技術上沒問題,但不是我猜測的預期和最佳用戶體驗。 –
您是否嘗試過蠻力法?一個好的foreach(ParentNode.ChildNodes中的TreeNode節點)? –