如JavaScript的false和true,在只有相反的两个值的情况下, 我们会使用dataType为BOOLEAN的DataField。 布尔字段如同JavaScript的false和true值以及其他类型的字段, 如果没有已定的值,就会将包含undefined等的三种值储存在DataSet之中。
在通过GridDataSet.setValue等而储存值时,如果不是上述的明确指定三个值的情况,并且其值为字符串时, 就会根据通过相关字段的booleanFormat或booleanFormat指定的转换规则,进行变更和储存。 空字符串和null被储存为undefined。 非字符串的值将会根据JavaScript的布尔转换规则,将其值转换和储存为false或true。
有关详细的转换格式,请参考DataField.booleanFormat。
在Grid-1中,默认booleanFormat为"false,f,0:true,t,1:0",所以当Boolean()没有被check时,"0"、"false"、"False"等将会被储存为false, 而"1"、"true"、"True"等则会被储存为true。
但是,当CheckBoolean()并且在添加行之前,将值的格式转换为布尔时,就会将除空字符串以外的所有值转换为true。请参考Boolean文档。
if ($('#chkBoolean').is(':checked')) {
for (var f in row) {
row[f] = Boolean(row[f]);
}
}
基本上,布尔字段的值将会转换和显示为指定在GridStyles.booleanFormat的格式。 如果没有指定格式,就会显示为"false"或"true"。 undefined将会显示为空字符串。 有关格式的详细说明,请参考GridStyles.booleanFormat。
在Grid-2中,将各个列样式的booleanFormat分别指定为
"不是;是;-", "男;女", "应付;已付;保留", "不及格;及格"。