2014-06-11 2 views
1

일부 경우 (내부 조인을 사용할 때 믿을 수 있음) datagridview가 SQL 쿼리에서 채워진 열 순서를 올바르게 나타내지 않습니다.DataGridview 자동 정렬 사용 안 함 VB.NET

예를 들어, 나는이 순서대로 테이블 컬럼을 조회 : 올바른 순서로

Select Booking_ID, Client_Name, Room_ID 

하지만 SQL 리턴 열을, 그러나 DataGridView에는 다른 순서로 자동으로 열을 표시

Room_ID || Booking_ID || Client_Name 

질문은 ,이 자동 열 가로 순서를 사용하지 않도록 설정하는 방법, 그래서 datagridview 정확히 SQL 표시하는 방법을 테이블을 표시합니까?

DataGrid를 채우기 위해 데이터 소스 메서드를 사용하고 있습니다. 대부분의 경우

SQLDA = New SqlDataAdapter(SqlCmd) 
SQLDataset = New DataSet 
SQLDA.Fill(SQLDataset) 
Form2.DGVData.DataSource = SQLDataset.Tables(0) 

이 문제는 존재하지 않는, 그리고 DataGridView에는 SQL이하는대로 정확하게 테이블을 보여줍니다.

미리 감사드립니다.

추신 : 이미지를 게시 하겠지만 10 평판이 필요하므로 허용되지 않습니다.

+0

가 명확하지 않다 .... 어떻게 DataGridView를 충전? 또한 코드를 보여줍니다 .. 만약 당신의 데이터 소스 메쏘드를 사용하여'query'에'order by '을 사용하려고한다면'Client_Name, Client_Name, Client_Name에 의해 당신의 테이블 순서에서 Room_ID 선택' –

+0

예 데이터 소스 메쏘드를 사용하고 있습니다. 'SQLDA = 새로운 SqlDataAdapter를 (SQLCMD) 된 SQLDataSet = 새 데이터 집합 SQLDA.Fill (된 SQLDataSet) Form2.DGVData.DataSource = SQLDataset.Tables (0)' – user3707554

+0

는 DataGridView를 편집 질문 –

답변

1

간단하지만 작동합니다 : 질문으로

dgvDataGridView.Columns("Booking_ID").DisplayIndex = 0 
dgvDataGridView.Columns("Client_Name").DisplayIndex = 1 
dgvDataGridView.Columns("Room_ID").DisplayIndex = 2 
'... 
+0

이 솔루션은 작동합니다 - 수동 선언 프로세스이므로 datagridview 강제로 더 좋을 것입니다. 처음부터이 불쾌한 행동을 수행하십시오. – Ken