0
我終止到配置文件之前,保存我的Datagrid的每列的顯示索引。 重新啓動應用程序時,我想要在終止之前恢復列的順序。 這不起作用。 這裏是我的代碼重新排序:重新排序datagridview的列不工作
Private Sub reorderColumns()
'convert the list of KeyValuePairs to a dictionary for easier access
Try
For Each column As DataGridViewColumn In MainDGV.Columns
column.DisplayIndex = SettingsKeeper.getInstance.positionOfColumnInGrid(column.Name)
Next
Catch ex As KeyNotFoundException
'Ignore, this means the config was not good, which generally means it was not yet
'created once
Catch ex As Exception
printErrorMessage(ex,ErrorCodes.Class_ReorderColumns)
End Try
End Sub
在我的初始化函數
,我也跟着從這個post有關的AutoGenerateColumns屬性的提醒,但這並沒有解決任何問題。
這是我的事實上的構造函數,它需要在初始化之後調用:
Public Sub init()
dt = New DataTable
Dim arr(CentralControl.dgvColumns.Count - 1) As String
Dim i As Integer = 0
For Each att As String In CentralControl.DataTemplate.Keys
dt.Columns.Add(att, GetType(String))
arr(i) = "No Data"
i += 1
Next
For i = 1 To SettingsKeeper.getInstance.numberRows
dt.Rows.Add(arr)
Next
MainDGV.AutoGenerateColumns = True
MainDGV.DataSource = dt
MainDGV.AutoGenerateColumns = False
reorderColumns()
End Sub
我的DataTemplate在現實中是包含DataColumn的關鍵和計算此列的值的一些規則的名稱字典作爲字典條目的值。