我有一个datagridview,我绑定到使用visual studio designer创建的数据集对象。 举个简单的例子: 我对SQL数据库的查询按顺序返回我的列:ID,NAME,GRADE - 很好,如果我手动查询并返回并绑定没有问题列按查询返回的顺序显示。 但是我需要使用数据集对象。当DataGridView绑定到数据集内的表时(即使表列的顺序正确),datagridview会自行决定对列进行重新排序! Aaargh !!
如何防止这种丑陋行为?
我不是在考虑命名我的列并设置序列位置,如下所示:
Disable datagridview automatic ordering VB.NET
那回答'不会阻止该行为,但强制已知列名[硬编码]并为任何和所有datgridviews设置序数。
代码示例:
Dim dt As appDataSet.booksDataTable = New appDataSet.booksDataTable
BooksTableAdapter.FillByRecipeID(dt, ID)
' This just checks for a particular field and uses a drop down instead.
' You can exclude it the behaviour is the same.
dgvExample.AutoGenerateColumns = False
If dgvExample.Columns.Count < 1 Then
CreateDataGridColumns(dt)
End If
dgvExample.DataSource = Nothing
dgvExample.DataSource = bsBooks