レイアウトへのレコード データの追加

概要

VLE を使用すると、BasicConnection または FileConnection を介してデータにアクセスするアプリケーション UI を構築できます。BasicConnection は、サーブレットおよび HTTP 経由の XML プロトコルを使用したサーバー側データベース管理システムへの接続を作成します。FileConnection は、カンマ区切り値 (CSV) 形式の一連のファイルへの接続を作成します。データ ソースへの接続については、「外部ソースのデータの管理」を参照してください。
RecordGrid および RecordForm を使用すると、接続データを表示できます。VLE から ConnectedRecordSet のほとんどの機能にアクセスできます。これは RecordSet に基づいています。レコード データの使用と表示の詳細は、「データの管理と表示」を参照してください。
ChartConnectedRecordSet を表示することもできます。 レコード データの表示方法については 「グラフ」 をご覧ください。
VLE でデータベース アプリケーションを作成するには、以下の手順に従う必要があります。

データ接続の追加

必要な接続が VLE でまだ定義されていない場合は追加します。VLE で追加したデータ接続は、この後も引き続き使用可能です。[表示]メニューの [データ接続]コマンドを選択し、[データ接続の一覧] ダイアログを開きます。このダイアログには定義済みのすべての接続が一覧表示されます。[新規] ボタンをクリックして、[新規データ接続を編集] ダイアログを開きます。
このダイアログを使用してデータ接続を定義します。最初のフィールドは、[接続プロトコル]という名前で、BasicConnectionFileConnection のいずれを追加するのか選択できます。
[データ接続 URL]フィールドには、接続のための URL が示されます。BasicConnection の場合、これはデータ サーバーの URL であり、SCSK株式会社提供の cdbc-server サーブレットにする必要があります。FileConnection の場合、これは CSV ファイル データベースを構成する一連のファイルのインデックス ファイルの URL です。[参照]ボタンをクリックすると、ファイル システム上のインデックス ファイルを検索できます。
次に、VLE がデータ接続から受け取るデータをどのように扱うかを決定します。以下のオプションがあります。

ConnectedRecordSet の追加

VLE パレットの [データ アクセス]タブを選択し、ConnectedRecordSet:
のアイコンをクリックします。トップレベルのレイアウト コンテナかレイアウト ツリー ノードで任意の場所にカーソルを移動し、ConnectedRecordSet をクリックしてレイアウトに追加します。レイアウト コンテナでは下の領域、[非可視要素]ノードの下のレイアウト ツリーに表示されます。
このオブジェクトに デザイン名 を付けます。RecordGridRecordForm データのバインドでは、データのアクセスにデザイン名が使われます。
接続を指定します。接続プロパティのドロップダウン リストには、定義済みの接続が一覧表示されます。このプロパティの [値] フィールドに直接入力すると、[新規データ接続を編集]ダイアログが開き、ここで新しい接続を定義することができます。
接続を指定すると、データベース プロパティのドロップダウン リストに、この接続から利用できるすべてのデータベースが一覧表示されます。データベースを選択します。クエリ プロパティのドロップダウン リストには、指定したデータベースで利用可能なすべてのテーブルが一覧表示されます。指定した接続が BasicConnection の場合、このフィールドでテーブルを選択するか、SQL クエリを入力できます。FileConnection は SQL をサポートしていないので、接続が FileConnection の場合、テーブルのみ選択できます。
上記の手順により、追加した ConnectedRecordSet から利用可能なデータが定義されます。ここで、このデータを RecordGrid または RecordForm に表示できます。

RecordGrid の追加

[データ アクセス]パレットの RecordGrid アイコンをクリックします。レイアウト コンテナで RecordGrid をクリックしてドラッグし、レイアウトに追加します。最初は空のグリッドが表示されます。
RecordGridレコード ソース プロパティの値フィールドで、
self.design-name を入力します。
ここで、design-name は、このグリッドに表示するデータの ConnectedRecordSet オブジェクトに指定した デザイン名 です。Curl ブラケットのアイコン {} をクリックして、このファイルを IDE で編集することもできます。接続を定義したときにデータを取得するというオプションの 1 つを選択した場合は、レコード ソースの値を入力するとグリッドにデータ値が取り込まれます。
ソート プロパティおよび フィルタ プロパティの値も設定できます。これらのプロパティは、データベース自体や SQL ステートメント (ConnectedRecordSetクエリ プロパティで指定) で実行されるソートおよびフィルタに加えて、Curl® 実行環境でレコードセットにソートおよびフィルタを適用します。
VLE で RecordGrid オブジェクトのプロパティ値を設定したり、イベント ハンドラを記述したりできます。API ドキュメントおよび『開発者ガイド』のセクション「RecordGrid の表示データの変更」 ではレコード グリッドのプロパティについて詳しく説明しています。VLE でのプロパティの編集の詳細については、「プロパティの編集」を参照してください。

RecordForm の追加

[データ アクセス]パレットの RecordForm アイコンをクリックします。レイアウト コンテナで RecordForm をクリックしてドラッグし、レイアウトに追加します。最初は空のフォームが表示されます。
レコード ソースプロパティself.design-name に設定します。RecordGrid の場合と同じです。レコード ソースを指定しても、結果はすぐに表示されません。これは、RecordFormにはディスプレイが組み込まれていないためです。このフォームに VBox のようなコンテナ オブジェクトを追加し、コンテナにコントロールを追加して、そのコントロールを RecordForm のレコード ソースにバインドする必要があります。
たとえば、データ セットにある種のテキスト データが含まれる場合、VBox をフォームに追加し、いくつかの TextField コントロールを VBox に追加します。
コントロールを 1 つ選択して、[プロパティ]ペインでバインドするプロパティを右クリックします。右クリックのポップアップメニューまたは [編集]メニューから [データ バインディングの編集]を選択します。バインド コントロール アイコンが表示され、データ フィールドのドロップダウン リストが利用できるようになります。リストからフィールドを選択します。この接続でデータを取得するよう構成した場合は、指定フィールドの先頭レコードのデータ値がコントロールに表示されます。
適切なデータ値がデータベースに存在していれば、 以外の多数のプロパティをデータ ソースにバインドできます。データ バインドの作成の詳細については、「レコード フォーム」を参照してください。

グラフの追加

[パレット] の [グラフ] タブを使用して、グラフやグラフに関連するオブジェクトをレイアウトに追加できます。グラフは、アプレットで ConnectedRecordSet のデータを表示する方法の 1 つです。
Curl Charts API は Shapes に組み込まれ、VLE では Shapes と一部の機能を共有します。VLE におけるシェイプの使用方法とグラフィックの使用方法の違いについては、「レイアウトにおけるシェイプの使用」を参照してください。

折れ線グラフの作成

ここでは、次ような構造のレコード セット データを使用する単純な折れ線グラフの作成手順を示します。
{RecordSet
    {RecordFields
        {RecordField "Name", domain = String},
        {RecordField "Age", domain = int},
        {RecordField "Score1", domain = int}
        {RecordField "Score2", domain = int}
    },
    {RecordData Name = "John", Age = 25, Score1 = 22, Score2 = 25},
    {RecordData Name = "Julie",  Age = 12, Score1 = 13, Score2 = 15},
    {RecordData Name = "Jethro", Age = 58, Score1 = 32, Score2 = 22},
    {RecordData Name = "Jeremy", Age = 16, Score1 = 6, Score2 = 15},
    {RecordData Name = "Jessica", Age = 13, Score1 = 9, Score2 = 15}
}
データは、ConnectedRecordSet がデータ接続として使用する FileConnection を介して VLE に渡されます。このファイル接続を構成するファイルと、以降の図で使用されているレイアウトは、アーカイブ Charts.zip に含まれている Curl IDE の拡張例にあります。このセクションの図は、LineChart というレイアウトの作成を示しています。「軸の追加」セクションの例では、このレイアウトをさらに拡張して ChartAxes レイアウトを作成します。拡張例には、ChartTabs というレイアウトと、あらゆる種類のグラフ レイヤや円グラフの例も含まれています。ChartTabs は、レコード グリッドにレコード セットを追加するタブ コンテナです。
これらの例をブラウザで実行し、それぞれのソース コードを IDE エディタおよび VLE で表示できます。拡張例の使用法の詳細については、「拡張例」を参照してください。例では、レコード グリッドにレコード セットを表示し、あらゆる種類のグラフ レイヤと円グラフの例を示します。
LineLayer を含む LayeredChart を VLE で作成するには、次の手順に従います。
注意: 不完全な状態のグラフを含むレイアウトを保存することができますが、このようなグラフを含むアプレットを実行すると、実行時エラーが発生します。

軸の追加

Charts API を使用すると、グラフの下側に x 軸、左側に y 軸が自動的に表示されます。VLE を使用して、軸を追加したり、軸のプロパティを編集したりできます。Charts API における軸の操作の詳細については、「LayeredChart」を参照してください。次の手順では、前のセクションで説明した折れ線グラフに軸を追加します。