본문 바로가기

VB.NET

[TIPS] DataGridView로 셀의 값이 null이나 DBNull.Value때에 표시하는 텍스트를 변경하는 방법

반응형

셀의 값이 null이나 DBNull.Value때에, 셀에 [지정되어 있지 않습니다.] 라고 표시되도록 하려면 ,

다음과 같이 하면 됩니다.

 

DataGridView1.DefaultCellStyle.NullValue = "[지정되어 있지 않습니다.]"

 

NullValue 프롭퍼티에는 문자열 이외의 오브젝트도 설정할 수 있습니다.

예를 들면, 이미지를 표시하는 셀이라면, 이미지를 설정할 수 있습니다.

 

 

nul값의 입력

유저가 NullValue 프롭퍼티로 지정된 문자열을 셀에 입력했을 경우, 그 셀에는 null값이 입력됩니다.

유저가 셀에 null값을 입력했을 때에, 데이터 소스의 값이 무엇이 될까는, 셀 스타일의 DataSourceNullValue 프롭퍼티로 결정됩니다. 디폴트에서는 DataSourceNullValue 프롭퍼티는 DBNull.Value이므로, 상기의 예로 유저가 셀에 [지정되어 있지 않습니다. ] 라고 입력하면, 그 셀의 값은 DBNull.Value(셀의 형태가 참조형 때는, null)가 됩니다.
DataSourceNullValue 프롭퍼티를 변경하는 예를 나타냅니다.

NullValue를 [-], DataSourceNullValue를 [A]로 하고 있습니다.

이와 같이 한 상태로 유저가 셀에 [-]을 입력하면, 그 셀이 확정된 후, [A]로 바뀝니다.

 

DataGridView1.DefaultCellStyle.NullValue = "-"
DataGridView1.DefaultCellStyle.DataSourceNullValue = "A"

 

 

NullValue나 DataSourceNullValue 프롭퍼티가 변경되었는지 조사

NullValue나 DataSourceNullValue 프롭퍼티가 변경되었는지를 조사하려면 , IsNullValueDefault와 IsDataSourceNullValueDefault 프롭퍼티를 사용합니다. 변경사항이 존재하면, false가 됩니다.

NullValue나 DataSourceNullValue 프롭퍼티의 값이 디폴트와 같아도, 그것이 설정된 것이면 false가 됩니다.

반응형