2012-11-21 5 views
0

C#에서 winform 응용 프로그램을 빌드하고 있습니다. 데이터를 채우는 데 DataGridView을 사용하고 있습니다. 그러나 편집하려고하면 셀 내용이 사라집니다. 다른 셀을 클릭 할 때만 텍스트가 다시 나타납니다.Datagridview 편집시 셀 텍스트가 사라집니다.

어떤 생각입니까, 왜 그런 일이 일어나고 어떻게 수정해야합니까? 텍스트가 사라질 때 DataGridView의 스크린 샷이 첨부됩니다. enter image description here

감사

+0

데이터 바인딩을 사용하여 표를 바인딩하거나 수동으로 각 행을 채우고 있습니까? – Bobson

+0

'셀 페인팅'과 같은 이벤트 처리기에서 셀 스타일을 사용하거나 사용자 정의 페인팅을 통해 해당 색상을 사용합니까? 어쨌든 우리는 더 많은 것을 돕기 위해 더 많은 코드가 필요합니다. 표준'DataGridViews'에는이 문제가 없으므로 추가 한 내용이어야합니다. 내 생각 엔 텍스트 색상 == 셀 강조 색상입니다. –

+0

안녕하세요. 데이터 바인딩을 사용하고 있지 않습니다. 수동으로 각 행을 채 웁니다. 'RowsDefaultCellStyle'을 변경하여 텍스트를 강조 표시했습니다. 텍스트 색상이 셀 강조 색상과 동일 할 경우에만 사용합니다. – Kiran

답변

0

셀 전경색을 선택하면 셀 배경 색상과 동일하기 때문입니다.

해결 방법은 선택 항목의 전경색을 변경하는 것입니다. 따라서 데이터 격자 속성에서 DefaultCellStyle을 찾아 SelectionForeColor을 내 시스템의 흰색 인 HighlightText에서 흰색이 아닌 다른 것으로 변경합니다 (검은 색은 분명한 선택입니다). 전체 그리드가 아닌 열에서 설정할 수도 있습니다.이 경우 그리드를 마우스 오른쪽 버튼으로 클릭하고 Edit Columns을 선택하면 다시 편집 할 DefaultCellStyle이됩니다. 내 경우 격자에 DefaultCellStyle에서

내가 텍스트가 계속 표시 될 것으로 예상 한 것이다 그것의 얼굴에 있도록 SelectBackColor = Highlight (파란색)과 SelectForeColor = HighlightText (흰색)이었다. (열 설정은 격자 기본값을 사용하는 것입니다.) 그러나 흰색은 흰색으로 보입니다. 그래서 이것에 더 많은 것이 있습니다. 그러나 해결책은 SelectionForColor으로 변덕스럽게 남아 있습니다.

관련 문제