Spread - デザイン
セルの表示形式を設定したい
Spreadには、セルの表示形式を設定するためのSpreadStyleクラスがあります。
SpreadStyleクラスの表示可能なスタイルは、下記の5種類があります。
SpreadStyleText
… 数値、日付、文字列等を入力・表示するためのスタイル
SpreadStyleLabel
… 固定文字列を表示するためのスタイル
SpreadStyleButton
… ボタン型セルを表示するためのスタイル
SpreadStyleCheckBox
… チェックボックス型セルを表示するためのスタイル
SpreadStyleComboBox
… コンボボックス型セルを表示するためのスタイル
SpreadStyleクラスはSpread全体だけでなく、セル単位、行・列単位、ブロック単位で
設定することも可能です。サンプルコードのSpreadは下記のような構成になっています。
サンプルコードのSpreadについて
Spread名
実行結果
設定対象
使用しているスタイル
Spread1
@
特定のセル
SpreadStyleText
Spread2
A
特定の行
SpreadStyleLabel
Spread3
B
特定の列
SpreadStyleCheckBox、SpreadStyleButton、SpreadStyleComboBox
Spread4
C
特定の範囲
SpreadStyleLabel
【実行結果@】
【実行結果A】
【実行結果B】
【実行結果C】
Form form1 { x = 0; y = 0; width = 800; height = 513; /* spread1 (A1、B2、C3セルにSpreadStyleTextのスタイルを設定) */ Spread spread1 { x = 24; y = 40; width = 336; height = 191; maxRows = 4; maxColumns = 3; /* セルの書き込み保護設定 */ protect = true; /* CSVデータ */ spread1 << csv{ s001,"2015-01-23",田中太郎 s002,"2000-04-01",鈴木一郎 s003,"2011-11-11",佐藤次郎}; /* SpreadStyleTextを定義 */ var st = new SpreadStyleText; /* 背景色を設定 */ st.bgColor = Color.RED; /* セルに入力可能な文字種を指定(半角英数字) */ st.inputMode = SpreadStyleText.INPUT_NUMERIC + SpreadStyleText.INPUT_ALPHA; /* A1にスタイルを設定 */ cell("A1").style = st; /* SpreadStyleTextを定義 */ var st2 = new SpreadStyleText; /* 背景色を設定 */ st2.bgColor = Color.GREEN; /* セルに入力可能な文字種を指定(日付型フォーマット) */ st2.inputMode = SpreadStyleText.INPUT_MASK; st2.mask = "0000-00-00"; /* B2にスタイルを設定 */ cell("B2").style = st2; /* SpreadStyleTextを定義 */ var st3 = new SpreadStyleText; /* 背景色を設定 */ st3.bgColor = Color.DGRAY; /* C3にスタイルを設定 */ cell("C3").style = st3; /* C3は編集不可とする */ cell("C3").lock = true; } /* spread2 (1行目、3行目にSpreadStyleLabelのスタイルを設定) */ Spread spread2 { x = 384; y = 40; width = 336; height = 191; maxRows = 4; maxColumns = 3; /* CSVデータ */ spread2 << csv{ s001,田中太郎,たなかたろう s002,鈴木一郎,すずきいちろう s003,佐藤次郎,さとうじろう s004,山田花子,やまだはなこ}; /* SpreadStyleLabelを定義 */ var sl = new SpreadStyleLabel; /* 背景色を設定 */ sl.bgcolor = Color.DGRAY; /* 1行目にスタイルを設定 */ var r = rows(1); r.style = sl; /* SpreadStyleLabelを定義 */ var sl2 = new SpreadStyleLabel; /* 背景色、文字色を設定 */ sl2.bgcolor = Color.YELLOW; sl2.fgColor = Color.RED; /* 3行目にスタイルを設定 */ var r2 = rows(3); r2.style = sl2; } /* spread3 (A列にSpreadStyleCheckBox、B列にSpreadStyleButton、 C列にSpreadStyleComboBoxのスタイルを設定) */ Spread spread3 { x = 24; y = 272; width = 336; height = 191; maxRows = 4; maxColumns = 3; /* SpreadStyleCheckBoxを定義 */ var scb = new SpreadStyleCheckBox; /* 表示文字列を設定 */ scb.text = "Check"; /* A列にスタイルを設定 */ var c1 = columns("A"); c1.style = scb; /* SpreadStyleButtonを定義 */ var sb = new SpreadStyleButton; /* 表示文字列を設定 */ sb.text = "Button"; /* B列にスタイルを設定 */ var c2 = columns("B"); c2.style = sb; /* SpreadStyleComboBoxを定義 */ var scb = new SpreadStyleComboBox; /* リストのデータを設定 */ String list_data[]; list_data << csv { Combo1 Combo2 Combo3 Combo4 Combo5}; scb.list = list_data; /* リストの幅を調整 */ scb.listWidth = -1; /* リストの表示数を設定 */ scb.dispLines = 4; /* C列にスタイルを設定 */ var c3 = columns("C"); c3.style = scb; /* 列幅を設定 */ c1.width = 60; /* コンボボックスの選択位置を設定 */ range("C1:C2").value = scb.list[0]; range("C3:C4").value = scb.list[3]; /* SpreadStyleButton押下時の処理 */ Function OnPushed(e){ //.messageBox(str(e.row) + "行目のボタンを押しました"); } } /* spread4 (B1からC4の範囲にSpreadStyleLabelのスタイルを設定) */ Spread spread4 { x = 384; y = 272; width = 336; height = 191; maxRows = 4; maxColumns = 3; /* CSVデータ */ spread4 << csv{ k001,東京都,新宿区 k002,神奈川県,横浜市 k003,埼玉県,さいたま市 k004,千葉県,千葉市}; /* SpreadStyleLabelを定義 */ var sl = new SpreadStyleLabel; /* 表示位置、背景色を設定 */ sl.horizontalAlign = ALIGN_CENTER; sl.bgColor = "#ffaaff"; /* ブロック指定範囲にスタイルを設定 */ var r = range("B1:C2"); r.style = sl; /* SpreadStyleLabelを定義 */ var sl2 = new SpreadStyleLabel; /* 表示位置、背景色を設定 */ sl2.horizontalAlign = ALIGN_CENTER; sl2.bgColor = "#aaffff"; /* ブロック指定範囲にスタイルを設定 */ var r2 = range("B3:C4"); r2.style = sl2; } Label label1 { x = 24; y = 24; width = 336; height = 16; value = "セル単位でSpreadStyleを設定"; } Label label2 { x = 384; y = 24; width = 336; height = 16; value = "行単位でSpreadStyleを設定"; } Label label3 { x = 24; y = 256; width = 336; height = 16; value = "列単位でSpreadStyleを設定"; } Label label4 { x = 384; y = 256; width = 336; height = 16; value = "ブロック単位でSpreadStyleを設定"; } }
Biz-Collections Bizの宝箱 トップへ
Biz/Browser DT・Biz/Designer DT TIPS集 トップへ