2009-06-18 26 views
0

我試圖破解一起在C#中的DataGridView可以處理分層數據(目前只有2級),因爲我無法找到工作,準確地看着我需要一個第三方控制它來。排序行的子集的DataGridView

我已經成功地得到擴大/崩潰和全球性排序工作(由頂級組排序,然後排序每個組內),但我想添加一個功能,您可以排序只是一個頂級組之內。所以想象一個2列的例子,例如

column1  | column2 
    group 1  | 6 
     group 1 a | 1 
     group 1 b | 2 
     group 1 c | 3 
    group 2  | 15 
     group 2 a | 4 
     group 2 b | 5 
     group 2 c | 6 

我希望用戶能夠雙擊「15」細胞,並將其排序只是「組2 X」行,與所有其他行保持究竟在何處是。每個單元格的標籤都告訴它它的父級是什麼,所以我知道給定的一對行是否屬於同一個子組。雖然我無法弄清楚邏輯。我嘗試爲不在同一組中的任何一對行設置SortResult = 0,但我仍然必須處理一個行在子組中而一個行不在的情況。有任何想法嗎?

回答

0

想通了 - 我有一個& &條件,我應該有一個|| ... 基本上,如果任一對行的要比較不在同一個子組中,只需設置SortResult以反映當前顯示的是哪一個,然後根據升序或降序確定翻轉結果。如果兩行都在同一個子組內,則照常排序。現在清理我的亂碼:)

1

您可以在列中放置一個數據網格。我認爲這會實現你的目標是什麼

+0

它可能,但我不想顯示另一組列標題,如果可能的話。不過,我會研究你的想法。 – toasteroven 2009-06-18 15:15:42