如何禁用DataGridView在绑定到数据集表时自动重新排序列

时间:2016-08-08 15:38:44

标签: sql vb.net winforms datagridview

我有一个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

0 个答案:

没有答案