2016-08-22 32 views

回答

0

本質上,你所要求的是能夠僅對DataGridView的一部分進行排序。據我所知,沒有簡單或標準的方法來做到這一點,菲利普迴應這個問題迴應:Sorting selected rows in DataGridView。這並不意味着你不可能實現你想要的行爲。

菲利普提供了一個實現,在這個question,賈斯汀提供的代碼,你將不得不稍微修改,但這可能適合你的需要。該問題詢問如何在DataGridView中上下移動一行,但我認爲您可以修改其實施,以便在排序後將要保持靜止的行移動到頂部。根據您排序的行數量,第一行可能會消失並重新出現。然而,如果你的數據集相對較小,我無法想象第一行的簡要閃存被排序到某個隨機位置,然後返回頂部會導致任何重大問題。

0

在爲SortCompare事件DataGridViewSortCompare事件處理程序,試試這個:

private void dataGridView1_SortCompare(object sender, DataGridViewSortCompareEventArgs e) 
{ 
    if (e.RowIndex1 == 0) 
    { 
     e.Handled = true; 
    } 
    else 
    { 
     e.Handled = false; 
    } 
} 
+0

我嘗試過。沒有工作。 – mstfcck

相關問題