2008-09-24 2 views
1

위젯을 데이터 바인딩 DataGridViewCell에 편집 모드가 아닌 다른 방법으로 포함시킬 수 있습니까?비 편집 위젯을 DataGridView에 임베드

예를 들어, 기존 캘린더 위젯을 셀에 표시하려고합니다. 해당 셀에는 쉼표로 구분 된 날짜 목록이 들어 있습니다. 우리는 텍스트 대신 달력을 보여주고 싶습니다.

Draw 메서드를 재정 의하여 셀에 달력을 그리지 만 기존 달력 위젯에 이미있는 마우스 오버 도구 팁은 처리하지 못합니다.

[업데이트] TcK의 제안을 시도했지만 작동하는 솔루션을 만들 수 없었습니다. 그 해답에 대한 설명을 보라.

답변

1

당신은 DataGridViewColumn에서, (예를 들어, DataGridViewCalendarColumn)를 자신의 유형을 도출하고 CellTemplate로 (당신이 자신을 만들 필요가 있다고도)를 DataGridViewCalendarCell를 반환해야합니다.
자세한 설명은 MSDN 문서 Build a Custom RadioButton Cell and Column for the DataGridView Control

+0

이 답변을 주셔서 감사합니다. 이것은 정확히 내가했던 것만 큼 (실제로는 위젯을 실제로 포함하는 것이 아니라 Paint 메서드를 재정의하는 것에 의지합니다). 그러나 내가 찾은 것만큼이나 가깝습니다. –

0

캘린더를 그리거나, 캘린더 컨트롤을 사용하거나, 그리드를 부모로 설정하고, 셀에있는 것과 동일한 경계 (왼쪽, 위쪽, 너비, 높이)를 설정할 수 있습니다.

+0

제안 해 주셔서 감사합니다.하지만 작동시키지 못했습니다. 예를 들어 버튼을 만들었습니다. 부모를 격자보기로 설정하고, 셀의 ContentBounds에 경계를 설정하고 단추의 BringToFont를 호출합니다. 위/왼쪽을 0,0으로 설정하더라도 그리드에는 여전히 표시되지 않습니다. –

관련 문제