Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

「Curl EXT」を使って、効果的な画面遷移とExcelライクな一覧画面を作ってみよう!

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/07/28 14:00

ダウンロード サンプルソース (3.0 KB)

目次

カスタムセルエディタ

 セルの値の編集には、通常TextFieldが使われますが(日付の場合はDateField)、ユーザーがそのコントロールを指定できます。各セルは以下の3つのパラメータを取ります。

パラメータ名 機能
editable?:bool ユーザーによる編集の可否(デフォルト:false)
locked?:bool セルの編集可否状態を固定表示するかどうかの設定(デフォルト:false)
ui-spec:any セルの値の編集/表示方法の設定(デフォルト: null)

 このui-specへの設定によって、コントロールを指定できます。ValueControlを指定した場合には、WorksheetがValueFinishedイベントを自動的に認識してセルを更新し、再計算を行います。

Sliderコントロールを埋め込んだサンプル
Sliderコントロールを埋め込んだサンプル

使い方

 以下のように、ui-specとしてSliderオブジェクトを設定します。

ソースコード(sample\/worksheetdemo2.curl)
{Worksheet 4, 3, {widths 18pt, 2in},
     row = 1, col = 1, 
     row-height = 48pt, {input-cell 4, domain = int, ui-spec = {Slider}},
     {formula-cell Formula.copy, {RelativeCellRef 0, -1}},    
     ...
}

EmbeddedRecordGridの埋め込み

 WorksheetにはRecordGridを埋め込むことができます。

セルに埋め込んだRecordグリッドでRecordSetを表示するサンプル
セルに埋め込んだRecordグリッドでRecordSetを表示するサンプル

使い方

 EmbeddedRecordGridコントロールをセルに埋め込んでいます。RecordGridの列数+1となる値(ここでは5)をcolspanにセットすると、グリッドの1列にワークシートの1列が自動的に割り当てられ、ワークシートのカラム幅を調整するとグリッドのカラム幅も連動して変更できます。

 EmbeddedRecordGridをインスタンス化する際のコンストラクタ引数は、以下のようになります。

ソースコード(sample\/worksheetdemo3.curl)
EmbeddedRecordGrid.default
   worksheet:#Worksheet                 ||このEmbeddedRecordGridと関連付けられるWorksheet(デフォルト:null)
   record-source:#RecordSet             ||ここから取り出される各レコードがグリッドを生成します(デフォルト:null)
   sort:#RecordSort                     ||表示データのソート順定義(デフォルト:null)
   filter:#RecordFilter                 ||データの一部を表示するためのフィルタ(デフォルト:null) 
   key-spec:any                         ||RecordGrid.key-specの初期値を与える(デフォルト:null)
   header-options:RecordGridRowOptions  ||ヘッダのためのグラフィックオプション(デフォルト:{RecordGridRowOptions})
   ui-object:#RecordGridUI              ||代替UIオブジェクト(デフォルト:{ProtoSkinnableRecordGridUI})
...

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:CurlデベロッパーセンターPick Up

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5