2009-11-23 84 views
1

我有一個DataGridView(帶有WinForms),我將一個特定的行視爲其之前行的「子」。這意味着當用戶對列進行排序時,該子行將保持連接到父項,因此它始終顯示在其下方。DataGridView基於另一行的值排序

我重寫了SortCompare方法來處理這個,但我不確定如何去做。在SortCompare中,我知道該行是否有父行,如果是,那麼該行是什麼。因此,我希望能夠說,「如果row1有一個父項,則讓排序結果成爲將row1的父項與row2進行比較的結果」。但是,如果我沒有明確地比較自己的值(我想避免這種情況,所以我不必跟蹤數據類型),我該怎麼做呢?它使用的比較器是否可用?或者有沒有更好的方法來完成我想要完成的任務?

回答

0

我猜你想要小團體。你看過定製DataGridViewGrouper component

您可以爲每個行組設置不同的屬性,並使用此自定義組件創建組。每個兩行組都有一個獨特的屬性,可以讓你將它們組合在一起。對我而言,您必須通過不同的標籤或屬性以某種方式區分各個組。在這種情況下,沒有親子關係,但我不認爲這很重要,因爲你想分組他們。