2009-11-16 4 views
7

미리 정의 된 dataGridView 열을 SQL 문의 결과와 바인딩하는 우아한 방법이 있습니까?dataGridView 미리 정의 된 열을 SQL 문에서 열로 바인딩하는 방법 (새 열을 추가하지 않고)?

예 :

dataGridView1.Columns.Add("EID", "ID"); 
dataGridView1.Columns.Add("FName", "FirstName"); 

일부 SQL 다음

SELECT t.FirstName AS FName, t.EmpID AS EID 
FROM table t ... 

처럼 나는

dataGridView1.DataSource = someDataSet.Tables[0].DefaultView; 

마지막 호출 내 데이터 그리드에 열을 추가 전화하지만 난 그냥하여 바인딩 할 새 열을 추가하지 않을 열 이름.

예는이 같은 결과를 줄 것이다 :

표 열 : ID는, 이름, FNAME, EID는

(ID 및 FIRSTNAME은 빈 셀을 보유)이 위치 정보 :

Table columns: ID, FirstName or FirstName, ID 

안부 인사!

+1

이 ASP.NET 또는 WinForms입니까? –

답변

1

DataGridView에 AutoGenerateColumns 속성이 있다고 생각합니까? 은 MSDN 문서에서

dataGridView1.AutoGenerateColumns = True; 

:

공공 부울 AutoGenerateColumns {설정; get; } 회원 요약

System.Windows.Forms.DataGridView

의 : 가져 열 생성되는지 여부를 나타내는 값을 설정 때 자동 System.Windows.Forms.DataGridView.DataSource 또는 System.Windows.Forms은 .DataGridView.DataMember 속성이 설정됩니다.

결과 : 열이 으로 자동 생성되면 true이고, 그렇지 않으면 false입니다. 그렇지 않으면 false입니다. 기본값은 true입니다.

등록 정보 창에 등록 정보가 없습니다.이 예에서와 같이 코드를 통해 설정해야합니다.

+0

Neil, 시도해 보았습니다. dataGridView1.AutoGenerateColumns = True; 및 = false이지만 동일한 결과. 작동하지 않습니다. – Jooj

+0

이 ASP입니까?NET 또는 WinForms? –

+0

WinForms를 사용하고 있습니다. – Jooj

0

Gridview의 Columns 태그에 열을 추가하는 방법은 어떻습니까? 거짓 AutoGenerateColumns 설정 제외

<Columns> 
<asp:BoundField DataField="EID" HeaderText="ID" /> 
<asp:BoundField DataField="FName" HeaderText="First name" /> 
... 
+0

고마워,하지만 난 winforms를 사용하고 있습니다! – Jooj

+0

아, 미안, 내 실수. – adrianos

15

은 또한 데이터 소스에 대응하는 필드에있는 DataGridView 각 열에 대해 DataPropertyName을 설정할 필요가있다. DataSource 속성을 설정하기 전에 이것을 디자이너 나 코드에서 설정할 수 있습니다.

11

dataGridView1.Columns["FName"].DataPropertyName = "FName"을 사용하십시오. FName은 데이터 테이블의 열입니다.

+0

그러면 문제가 해결되고 답변은 올바른 것으로 표시되어야합니다. – Lucas

관련 문제