2011-08-23 4 views
1

창 응용 프로그램을 기본으로 만듭니다. 내가 2 열의 DataGrid를 만들었지 만 DataGrid에 데이터 소스를 적용하면 데이터 소스에 10 개의 열이 있고 DataGrid에 2 + 10 개의 열이 표시됩니다. 어떻게 데이터베이스에서 오는 10 열 목록에서 2 열만 disply.내 C# 창에서 10 열 2 열만 표시 응용 프로그램

다음을 사용하지 마십시오. 1) DataGrid에서 하나씩 열을 삭제하지 마십시오. 2) 목록에서 하나씩 데이터베이스에서 오는 열을 삭제하지 마십시오.

+0

은 정확한 중복 게시물과 같습니다. http://stackoverflow.com/questions/6960739/how-to-hide-column-of-datagridview-when-using-custom-datasource – Jethro

+0

위와 숙제가 즐겁다. -1 – deanvmc

답변

2

ItemsSource를 datagridview에 할당하기 전에 AutoGeneratedColumns 속성을 설정하십시오.

+0

네, 맞습니다. –

2

DataGrid에서 AutoGenerateColumns를 false로 설정 한 다음 DataGrid에서 만든 두 개의 열을 데이터 소스의 해당 열에 바인딩해야합니다.

+0

이 코드는 >>> dgContacts.DataSource = obj_BO_ContactDetailList; dgContacts.AutoGenerateColumns = false; –

-1

특정 열을 숨기려면이 작업을 수행 할 수 있습니다.

//Were 0 is the index of the column. 
dataGridView.Columns[0].Visible = false; 

업데이트 :

질문의 마지막 부분이 표시되지 않았다. 표시 할 열만의 익명 목록을 만들 수 있습니다. 이것은 당신의 각 칼럼을 설정하는 번거 로움 일 필요가 없었습니다. DataGridView

예제.

var smallList = listFromDb.Select(c=> new {c.Name, c.Age}); 
dataGridView.DataSource = smallList; 
+0

왜 downvotes? – Coops

+0

Downvoters는 관심이 있으십니까? – Jethro

+0

@CodeBlend, 왜 내가 downvoted있어 또는 왜 내가 downvoted, 내가하지 않았기 때문에 내게 묻는거야? – Jethro

0

첫 번째 검사는 DataGridViewAutoGenerateColumns 속성은이 컬럼의 생성을 중지 false 인 경우.

DataSource의 총 10 열 중 2 열의 데이터를 DataGridView 열로 매핑하려는 경우 해당 열의 각 열에 매핑해야 할 기존 2 열을 DataPropertyName으로 정의한 경우 해당 검사를 위해 데이터 소스

0

데이터 소스를 데이터 격자로 설정하기 전에 AutoGeneratedColumns 속성을 False로 설정하십시오. 그렇지 않으면 데이터 표 자체에 열이 추가됩니다.

DataGridView grid = new DataGridView(); 
grid.AutoGenerateColumns = false;