SMART datagrid v1.4 > Examples
Javascript의 false, true와 같이 대비되는 두 가지 값만이 있는 경우라면 dataType이 BOOLEAN인 DataField를 사용한다. BOOLEAN 필드는 실제로 javascript의 false, true 값과, 다른 타입의 필드와 마찬가지로 값이 정해지지 않은 경우의 undefined 등, 세가지 값으로 DataSet에 저장한다.
GridDataSet.setValue 등으로 값을 저장할 때 위의 명시적인 세 값이 아닐 경우, 값이 문자열이면 해당 필드의 booleanFormat이나, booleanFormat으로 지정된 변환 규칙에 따라 변경되어 저장된다. 빈문자열과 null은 undefined로 저장된다. 문자열이 아닌 값은 javascript Boolean 변환 규칙에 맞게 false, true로 값이 변환되어 저장된다.
자세한 변환 형식은 DataField.booleanFormat을 참조한다.
Grid-1에서 기본 booleanFormat이 "false,f,0:true,t,1:0" 이므로 Boolean()이 check 되지 않았다면, "0", "false", "False" 등은 false로, "1", "true", "True" 등은 true로 저장된다.
하지만, Boolean()이 check되어 행 추가 전에 값들을 Boolean으로 형변환하면 빈 문자열이 아닌 경우 모두 true로 변환된다. Boolean 문서를 참조한다.
if ($('#chkBoolean').is(':checked')) {
for (var f in row) {
row[f] = Boolean(row[f]);
}
}
기본적으로 Boolean 필드의 값은 GridStyles.booleanFormat에 지정된 형식으로 변환되어 표시된다. 형식이 지정되지 않으면 "false", "true"로 표시된다. undefined는 빈문자열로 표시된다. 형식에 대한 자세한 설명은 GridStyles.booleanFormat을 참조한다.
Grid-2에서 각 컬럼 스타일의 booleanFormat을 각각
"아니오;예;-", "남성;여성", "미지급;지급;유보", "불합격;합격"
으로 지정하였다.