Curlで始めるリッチクライアント(2) Page 2/3
Curlによるオブジェクト指向開発と
強力な標準クラス
住商情報システム三野 凡希
2005/6/17
■データモデルのRecordSetクラス
図4 サンプル・アプリケーションの一覧表タブ |
RecordSetクラスはデータをレコードとフィールドで編成し、データの変更に関するイベントを管理する機能を持っています。つまり、データベースのテーブルと同じような機能が備わっています。関連する重要なクラスには、RecordFieldsクラス、RecordDataクラスなどがあります。RecordFieldsクラスはRecordSetクラスのフィールドを定義するために使用されます。
RecordFieldsクラスは、リスト3のように複数のRecordFieldオブジェクトで構成され、データフィールドの名前を指定するname、フィールドのデータを表示する際に使う文字列を指定するcaption、フィールドのデータ値のDomain(型)を指定するdomainなどから構成されます。
{RecordSet |
リスト3 複数のRecordFieldオブジェクトで構成されるRecordFieldsクラス (RecordSet-and-RecordGrid.scurlの8行目からを抽出) |
最初のRecordFieldでは、フィールドの名前を「name」、表示するときの文字列を「氏名」、データのDomain(型)を「String」と設定しています。これ以降も同じ構成でRecordFieldを設定しています。これらはちょうどデータベースのテーブルを定義するのとほぼ同じです。RecordSetクラスはデータベースのテーブルと同じような使い方をCurlアプリケーション内で実現しています。また、実際に使用されているデータは、リスト4のようにRecordDataクラスを使用しています。
{RecordData name="カール太郎",
hurigana="カールタロウ", postalcode="123-4567", prefecture="東京都", city="杉並区", town="A町",
tel="03-1234-5678", mail="curltaro@curlap.com"}, |
リスト4 RecordDataクラスに格納されたデータ (RecordSet-and-RecordGrid.scurlの28行目からを抽出) |
リスト4のようにRecordSetクラスにRecordDataクラスを使用してデータを静的に設定することもできますが、通常はWebサーバ(またはファイルなど)からデータを取得して設定する方が一般的です。その場合には、リスト5のCommandButtonクラスの{on Action do …}にあるように、RecordSetクラスのappendメソッドなどを使用してダイナミックにデータを追加します。
{rs.append {RecordData |
リスト5 RecordSetクラスのappendメソッドでダイナミックにデータを追加 (Start.Curlの37行目からを抽出) |
また、このほかにもRecordSetクラスにはデータベースと同じようにcommitメソッド(コミット)、revertメソッド(復帰)、delete-all(削除)など、たくさんのメソッドが用意されています。詳しくはSurge Labドキュメントの「目次」タブ−「Surge Lab開発者ガイド」−「データアクセス」および「APIリファレンス」の「RecordSet」クラスを参照してください(Surge Lab IDE 60日体験版のダウンロードページ)。(次ページに続く)
2/3 |
INDEX |
||
Curlで始めるリッチクライアント(2) Curlによるオブジェクト指向開発と強力な標準クラス |
||
Page1 前回のおさらいと今回の解説ポイント Curlのアプリケーション構成 TextFieldクラスを継承したサブクラス(共通部品)化 |
||
Page2 データモデルのRecordSetクラス |
||
Page3 強力なユーザー・インターフェイスを持つRecordGridクラス レイアウトコンテナとポータルにも使えるTabContainerクラス まとめ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|