簡體   English   中英

VB.net排序列然后排序但保留行位置

[英]VB.net sort column then sort off but retain rows position

我可以通過自動sortmode對datagridview列進行排序。 但是我的問題是,當我將列設置為自動排序時,這意味着“狀態”列始終處於排序模式,並且如果有任何數據更改,它將移動到以下任何排序模式

在此處輸入圖片說明

在此處輸入圖片說明

我不要 我只想先排序然后關閉,但保留行位置。 我的意思是:

步驟1:當用戶更改“狀態”列的狀態時,它不是排序數據

步驟2:然后,當用戶單擊列標題時,它將對數據降序排序

步驟3:此后,當用戶更改“狀態”列的任何狀態時,它不是排序而是在datagridview中保留行位置(這意味着狀態已更改的行不會移至任何位置)

有沒有正確的方法來實現這一目標? 謝謝您的幫助。

這是我在這種情況下的建議:

  1. 如果您的網格尚未綁定到DataTable ,請這樣做。
  2. DataTable添加一個額外的列,其數據類型為Integer
  3. 您自己創建和綁定網格列,而不為該額外的列創建網格列,或者在綁定后隱藏該網格列。
  4. 根據需要對網格進行排序。
  5. 遍歷DataTableDefaultView並依次在Extra列中設置值。
  6. 將該額外的列的名稱分配給DefaultViewSort屬性。

而已。 現在,數據將按照該列中的數字順序進行排序,因此您可以對其余數據進行任何所需的更改,而不會影響順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM