Javascriptのfalse、trueみたいに対比になる二つの値だけがある場合なら dataTypeがBOOLEANであるDataFieldを利用する。 BOOLEANフィールドは実際にjavascriptのfalse、trueの値と、他のタイプのフィールドと同様に値が決まってない場合のundefinedなど、 三つの値でDataSetにセーブする。
GridDataSet.setValueなどで値をセーブする時、上の明示できな三つの値ではない場合、 値が文字列なら該当フィールドのbooleanFormatや、booleanFormatで指定された変換の規則によって 変換されてセーブされる。空の文字列は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をそれぞれ
"否;可;-"、"男;女"、"未支給;支給;保留"、"不合格;合格"
で設定した。