VLE でデータベース アプリケーションを作成するには、以下の手順に従う必要があります。
- VLE で必要なデータ接続がまだ定義されていない場合はこれを定義します。
- レイアウトに少なくとも 1 つの ConnectedRecordSet を追加し、この接続を介してデータにアクセスできるよう構成します。実行時のアプリケーションには、このオブジェクトは表示されませんが、[レイアウト]ペインではレイアウト コンテナの下の領域にアイコンとして表示されます。
- データ レコード コントロール オブジェクトをレイアウトに追加します。これには、バインド コントロールを持つ RecordGrid または RecordForm のいずれかを選択できます。
- オブジェクト プロパティを設定して、適切なデータ ディスプレイを作成します。
必要な接続が VLE でまだ定義されていない場合は追加します。VLE で追加したデータ接続は、この後も引き続き使用可能です。[表示]メニューの [データ接続]コマンドを選択し、[データ接続の一覧] ダイアログを開きます。このダイアログには定義済みのすべての接続が一覧表示されます。[新規] ボタンをクリックして、[新規データ接続を編集] ダイアログを開きます。
[データ接続 URL]フィールドには、接続のための URL が示されます。
BasicConnection の場合、これはデータ サーバーの URL であり、SCSK株式会社提供の cdbc-server サーブレットにする必要があります。
FileConnection の場合、これは CSV ファイル データベースを構成する一連のファイルのインデックス ファイルの URL です。
[参照]ボタンをクリックすると、ファイル システム上のインデックス ファイルを検索できます。
次に、VLE がデータ接続から受け取るデータをどのように扱うかを決定します。以下のオプションがあります。
- デザイン時にこの接続から RecordSet の完全データを取得する。
このオプションを選択すると、UI のデザイン中にこの接続からのデータを VLE で「ライブ」で見ることができます。
- デザイン時にこの接続から RecordSet のサンプル データを取得する。
このオプションを選択すると、デザイン時にサーバーから利用可能な全データのサブセットを見ることができます。これは、完全データセットのサイズが大きな場合に有効なオプションです。UI デザインの作業中にサンプル データを見ることができるだけでなく、データセット全体をロードする時間を節約できます。
- デザイン時にこの接続からヘッダー情報のみ取得する。
このオプションを選択すると、デザイン時にはテーブルとフィールド名が表示され、データは表示されません。これを使用すると、実際のデータ値のロードに時間をかけずにデータの構造的な要素だけを確認できます。
- デザイン時にこの接続をオープンしない。
デザイン時にこの接続からの情報が必要ない場合はこのオプションを選択します。
VLE パレットの
[データ アクセス]タブを選択し、
ConnectedRecordSet:
のアイコンをクリックします。トップレベルのレイアウト コンテナかレイアウト ツリー ノードで任意の場所にカーソルを移動し、
ConnectedRecordSet をクリックしてレイアウトに追加します。レイアウト コンテナでは下の領域、
[非可視要素]ノードの下のレイアウト ツリーに表示されます。
接続を指定します。接続プロパティのドロップダウン リストには、定義済みの接続が一覧表示されます。このプロパティの [値] フィールドに直接入力すると、[新規データ接続を編集]ダイアログが開き、ここで新しい接続を定義することができます。
接続を指定すると、
データベース プロパティのドロップダウン リストに、この接続から利用できるすべてのデータベースが一覧表示されます。データベースを選択します。
クエリ プロパティのドロップダウン リストには、指定したデータベースで利用可能なすべてのテーブルが一覧表示されます。指定した接続が
BasicConnection の場合、このフィールドでテーブルを選択するか、SQL クエリを入力できます。
FileConnection は SQL をサポートしていないので、接続が
FileConnection の場合、テーブルのみ選択できます。
[データ アクセス]パレットの
RecordGrid アイコンをクリックします。レイアウト コンテナで
RecordGrid をクリックしてドラッグし、レイアウトに追加します。最初は空のグリッドが表示されます。
self.design-name を入力します。
ここで、
design-name は、このグリッドに表示するデータの
ConnectedRecordSet オブジェクトに指定した
デザイン名 です。Curl ブラケットのアイコン
{} をクリックして、このファイルを IDE で編集することもできます。接続を定義したときにデータを取得するというオプションの 1 つを選択した場合は、レコード ソースの値を入力するとグリッドにデータ値が取り込まれます。
ソート プロパティおよび
フィルタ プロパティの値も設定できます。これらのプロパティは、データベース自体や SQL ステートメント (
ConnectedRecordSet の
クエリ プロパティで指定) で実行されるソートおよびフィルタに加えて、Curl® 実行環境でレコードセットにソートおよびフィルタを適用します。
[データ アクセス]パレットの
RecordForm アイコンをクリックします。レイアウト コンテナで
RecordForm をクリックしてドラッグし、レイアウトに追加します。最初は空のフォームが表示されます。
レコード ソースプロパティを
self.design-name に設定します。
RecordGrid の場合と同じです。レコード ソースを指定しても、結果はすぐに表示されません。これは、
RecordFormにはディスプレイが組み込まれていないためです。このフォームに
VBox のようなコンテナ オブジェクトを追加し、コンテナにコントロールを追加して、そのコントロールを
RecordForm のレコード ソースにバインドする必要があります。
コントロールを 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 で表示できます。拡張例の使用法の詳細については、「
拡張例」を参照してください。例では、レコード グリッドにレコード セットを表示し、あらゆる種類のグラフ レイヤと円グラフの例を示します。
注意: 不完全な状態のグラフを含むレイアウトを保存することができますが、このようなグラフを含むアプレットを実行すると、実行時エラーが発生します。
- LayeredChart を追加します。
[グラフ] タブで [LayeredChart] ボタンを選択し、レイアウト コンテナをクリックしてグラフをレイアウトに追加します。最初は空のグラフが表示されます。通常のドラッグアンドドロップ操作でグラフの位置やサイズを変更できます。グラフはシェイプであるため、回転やスケール変更も可能です。
- LineLayer を追加します。
[LineLayer] ボタンをクリックし、
[レイアウト ツリー] または
[レイアウト] ペインをクリックして
LineLayer をレイアウトに追加します。
ChartLayer をレイアウトの
LayeredChart 以外の場所に配置することはできません。次の図は、
LineLayer をグラフに追加した結果を示しています。この時点では、まだデータがレンダリングされていないため、グラフの外観は変わっていません。
- LineLayer のデータ ソースを選択します。
- データ フィールドを選択します。
フィールド名 プロパティを編集して、y 軸にプロットする値を指定します。データ ソースを指定すると、フィールド名 プロパティ フィールドの右端にある矢印をクリックして使用可能なフィールド名のリストを表示できます。このリスト内の名前を 1 つクリックして、1 つのフィールドを選択できます。複数のフィールドからデータをプロットする場合は、他のフィールド名を入力する必要があります。この例では、フィールド age フィールドと score1 フィールドから値をプロットしています。
次の図は、age フィールドと score 1 フィールドが選択されたグラフと、フィールド名のドロップダウン リストを示しています。
- x 軸のデータを選択します。
前の図では、x 軸の値は数字で示されています。x 軸でレコード セットの値を使用するには、
X 軸データ プロパティを編集する必要があります。
フィールド名 フィールドの右端にある アイコン (...) をクリックして、
X 軸データ のプロパティ エディタを開きます。このプロパティ エディタで
ChartDataSeries オブジェクトを作成できます。グラフ レイヤのデータ ソースを指定する場合と同じようにしてレコード ソースを指定する必要があります。この場合、データ ソースは
self.records です。データ ソースを選択すると、
[フィールド名] フィールドに使用可能なフィールド名のリストが表示されます。この例では x 軸に
name フィールドを使用しています。次の図は、
ChartDataSeries のプロパティ エディタを示しています。
次の図は、グラフと x 軸のデータを提供する name フィールドを示しています。
Charts API を使用すると、グラフの下側に x 軸、左側に y 軸が自動的に表示されます。VLE を使用して、軸を追加したり、軸のプロパティを編集したりできます。Charts API における軸の操作の詳細については、「
LayeredChart 軸」を参照してください。次の手順では、前のセクションで説明した折れ線グラフに軸を追加します。
- Score1 の軸の追加
{NumericDataSeriesAxes-of double} のパレット アイコンをクリックし、[レイアウト ツリー] または [レイアウト] ペインをクリックして軸をグラフに追加します。この時点では、グラフの外観は変わりません。
- 軸のデータ系列の指定
データ系列 フィールドのアイコン (...) をクリックして、ChartDataSeries のプロパティ エディタを開きます。[データ ソース] フィールドに「self.records」と入力し、[フィールド名] フィールドに「score1」と入力します。既定の y 軸が score1 フィールドのデータの軸に置き換わります。
- 軸のその他のプロパティの編集
この軸のその他のプロパティの値を指定します。
- 軸ラベル : Score in First Game
- 軸位置 : right
次の図は、新しい軸を示しています。
- Age の軸の追加
次の図は、新しい軸を示しています。
- 名前の ChartAxis の追加
次に、x 軸を既定の位置 (下) から上に移動します。
ChartAxis アイコンをクリックし、グラフをクリックして
ChartAxis を追加します。この軸のデータ系列を
self.records の
name フィールドに設定します。軸位置は
top に設定します。
次の図は、新しい軸を示しています。
Copyright © 1998-2019 SCSK Corporation.
All rights reserved.
Curl, the Curl logo, Surge, and the Surge logo are trademarks of SCSK Corporation.
that are registered in the United States. Surge
Lab, the Surge Lab logo, and the Surge Lab Visual Layout Editor (VLE)
logo are trademarks of SCSK Corporation.