2009-10-27 3 views
2

런타임시 Form_Load를 통해 DataBound 인 C# WinForms App에 사용자 정의 객체에 대한 DataGridView가 있습니다.
DataGridView의 디자인보기에서 열이 설정되지 않았습니다.
Form이로드되면 DataBound가되는 Custom 개체의 데이터를 기반으로 열이 자동으로 만들어집니다.
내 질문은 어떻게 자동으로 만들어진 열을 제어 할 수 있습니다.
예를 들어, 열 중 하나를 자동으로 생성되는 DataGridViewTextBoxColumn 대신 DataGridViewLinkColumn으로 만들려면 어떻게해야합니까?CustomObject에 바인딩 된 DataGridView에서 열 형식을 제어하는 ​​방법?

답변

3

기본 열은 데이터 형식을 기반으로합니다. 확인하지는 않았지만 링크로 을 시도하면은 데이터를 Uri으로 표시하려고 시도하지만 희망적 일 수 있습니다. 특정 유형의 열을 원한다면 코드를 통해 열을 추가하고 DataGridView.AutoGenerateColumnsfalse으로 설정하십시오.

Andrew가 암시하는대로; 일반적으로 과 같은 반사가 열을 생성하는 데 사용되며 모든 (browsable + public + readable) 속성에 대한 열을 가져옵니다. 필요에 따라 추상화 레이어가 있지만 하이퍼 링크 열을 추가하면 도움이되지 않습니다.

+0

+1 열을 자동 생성하는 데 리플렉션을 사용한다고 언급 할 수 있습니다. –

+0

@Andrew - 엄밀히 말하면, 그렇지 않습니다 ;-p –

+0

@Marc - 오, 분명히 생각했습니다! –

0

디자이너에서 열을 미리 만들 수 있습니다. 열 이름이 바인딩 될 속성의 이름과 일치하면 데이터 바인딩은 이전과 마찬가지로 DGV 채우기를 처리합니다.

관련 문제