【发布时间】:2016-11-19 10:42:19
【问题描述】:
我一直在寻找如何做到这一点一个小时,但我看到的只是 C# 中的答案。我想按以下顺序显示来自tbl_scancheck 的Datagridview1 中的数据(这些是列标题): Emp_No, DN_PickList, PickList_DT, DN_Thermal,Thermal_DT, TALLY
但是,tbl_scancheck 的顺序如下:DN_PickList, PickList_DT, DN_Thermal,Thermal_DT, TALLY, Emp_No
当前的 tbl_scancheck 订单目前正在另一个 datagridview 中使用,所以我无法在 MS Access 中手动编辑它。
这是我当前的代码:
Dim dbprovider As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = C:\Users\austin\Documents\Visual Studio 2015\Projects\ScanCheckSystem\ScanCheckSystem\bin\Debug\packerdb.accdb"
Dim myConnection As OleDbConnection = New OleDbConnection(dbprovider)
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim tables As DataTableCollection
Dim source1 As New BindingSource
Private Sub Packer_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ds = New DataSet
tables = ds.Tables
da = New OleDbDataAdapter("Select * from [tbl_scancheck]", myConnection)
da.Fill(ds, "tbl_scancheck")
Dim view As New DataView(tables(0))
source1.DataSource = view
DataGridView1.DataSource = view
End Sub
【问题讨论】:
-
在设计器中按您需要的顺序在
DataGridView中创建列。将DataGridViewColumn的DataProperty设置为DataTable中对应列的名称。并且在设置.DataSource之前的Load事件处理程序中设置DataGridView.AutoColumnGeneration = false
标签: vb.net winforms ms-access data-binding datagridview