2016-07-16 3 views
0

나는 한 시간 동안이 작업을 수행하는 방법을 찾고 있었지만 C#에서는 답변을 볼 수 있습니다. Datagridview1에서 데이터를 표시하려면 tbl_scancheck에서 다음과 같이 입력하십시오. 순서 (이러한 열 머리글이다가) : 현재 tbl_scancheck 순서는 현재 그래서 난 그냥 수동으로 그것을 편집 할 수있는 또 다른 DataGridView에에서 사용되는 DN_PickList, PickList_DT, DN_Thermal,Thermal_DT, TALLY, Emp_No데이터 테이블의 선택된 열을 데이터 격자 뷰에 바인딩하는 방법

:Emp_No, DN_PickList, PickList_DT, DN_Thermal,Thermal_DT, TALLY

그러나, tbl_scancheck이 순서에 MS 액세스. -

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

원하는 컬럼의 이름을 알고 있기 때문에

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

라인에서 당신이 SELECT * FROM SQL 명령에 전달하는 OleDbDataAdapter를 할당 : 여기

내 현재 코드입니다 열을 명시 적으로 지정하도록 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

관련 문제