2016-07-16 5 views
0

これを1時間実行する方法を探していましたが、C#で答えが表示されます。Datagridview1からデータを表示する場合は、tbl_scancheckオーダー(これらは列ヘッダーです):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アクセス。ここで

私の現在のコードです:あなたが割り当てるOleDbDataAdapterあなたがSELECT * FROM SQLコマンドに渡しラインで

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 
+0

デザイナーで、必要な順序で 'DataGridView'の列を作成します。 'DataGridViewColumn'の' DataProperty'に 'DataTable'の列のセット名を設定します。そして 'Load'イベントハンドラで' .DataSource'を設定する前に 'DataGridView.AutoColumnGeneration = false'を設定します。 – Fabio

答えて

3

-

da = New OleDbDataAdapter("Select * from [tbl_scancheck]", myConnection) 

あなたは列の名前を知っているので、あなたがしたいです列を明示的に指定するようにSQLを変更すると機能するかもしれませんか?例 -

da = New OleDbDataAdapter("SELECT Emp_No, DN_PickList, PickList_DT, DN_Thermal,Thermal_DT, [TALLY] FROM [tbl_scancheck]", myConnection) 
+0

私は現在、Fabioの答えを見つけ出して、あなたのことを見ている途中です。シンプルなソリューションをありがとう。 – austin

+0

あなたは大歓迎です!喜んで助ける – LogicalFlaps

関連する問題