2013-01-21 31 views
0

我在樹形視圖中顯示db中的數據。每個數據都有自己的代碼和父代碼(不是一個級別)。我示出算法的步驟是這樣如何挑選特定的treenode在C#中展開

  • 步驟1:找到數據,父代碼是步驟1(步驟1的親本)
  • :其中父代碼爲空(根節點)
  • 步驟2查找數據步驟3:添加1,2-到TreeView和顯示
  • 步驟4:當點擊節點,找到該父代碼在選定節點數據
  • 步驟5:添加步驟4作爲選擇code`s子節點

節點1

└節點2 - 點擊展開圖標

└節點3

└節點4 - 選擇的節點

在這種情況下,我只能檢查選擇的節點(節點4)。因此,如果我在事件點擊或展開/摺疊時添加了子節點代碼,則代碼在選定節點(節點4)上工作,而不是節點2.

這就是爲什麼我使用click事件。

我想檢查點擊了哪個節點的擴展圖標。在這個例子中,我想要得到的節點是node2。

一個無知但簡單的方法是...保存節點的所有狀態,然後再比較之前進行比較。當節點數量很大時,這種方式將花費太長時間。

如果還有其他簡單的方法來挑選node2,我想知道我如何找到它。

對不起,我的不好解釋。

回答

2

您可以使用treeview的OnBeforeExpand事件。該事件有一個TreeViewCancelEventArgs參數,該參數攜帶要在其Node屬性中展開的節點。

+0

哦......答案在** EventArgs **。謝謝 – Temp