Project Siena でコレクションを作成および管理する
Project Siena でコレクションを作成すれば、ユーザーからデータを収集してその情報を保存したり、別のソースから収集したデータを変更してその変更内容を保存したりすることができます。Project Siena の概要や、サンプル アプリ、ビデオ チュートリアル、フォーラムなどのリソースへのリンクについては、「Project Siena」を参照してください。
必須コンポーネント
Project Siena。Windows ストアから無料で入手できます。
Project Siena の基本操作に習熟していること。初めてのアプリを Project Siena で作成するをご覧ください。
ユーザーが提供するデータからコレクションを作成する (またはコレクションに行を追加する)
作成または更新するコレクションの各列のテキスト入力コントロールを追加します。
コントロールを追加して名前を付ける方法については、「初めてのアプリを Project Siena で作成する」を参照してください。
たとえば、Year と ViolinRevenue という 2 つのテキスト入力コントロールを追加して、2 つの列を含んだコレクションを作成または更新できます。
(省略可能) 各コントロールの目的を識別するラベルを追加します。
ボタンを 1 つ追加し、その OnSelect プロパティに次の構文に従う関数を設定します。
Collect(CollectionName, {ColumnName1:NameOfInputControl1Text, ColumnName2:NameOfInputControl2!Text, ...})
たとえば、以下の関数を使用して、2 つの列を含んだ ViolinRev という名前のコレクションを作成または更新できます。Years という名前の列には、Year という名前のテキスト入力コントロールからのデータが格納され、Violins という名前の列には、ViolinRevenue という名前のテキスト入力コントロールからのデータの数値が格納されます。
Collect(ViolinRev, {Years:Year!Text, Violins:Value(ViolinRevenue!Text)})
(省略可能) ボタンを選択した状態で、左下隅に [データ] が表示されたらそれをクリックして、ボタンの Text プロパティを Collect に設定します。
F5 キーを押し、各テキスト入力コントロールにデータを追加してから、ボタンをクリックします。
追加する行ごとに前述の手順を繰り返し、それから、Esc キーを押してデザイン ワークスペースに戻ります。
注意
テキスト入力コントロールのデータを変更しないでボタンを複数回クリックすると、それが意図的であってもなくても、重複項目が作成されます。不要な項目を削除する方法については、「コレクションから 1 行以上のデータを削除する」を参照してください。
(省略可能) コレクションをプレビューするには、Alt+F キーを押し、[アプリのデータ] をクリックしてから、[コレクション] をクリックします。
(省略可能) カスタム ギャラリーを作成して、コレクションをアプリに表示します。
テキストを通貨としてフォーマットする方法については、「テキスト」を参照してください。アプリを閉じる前にコレクション内のデータを保存し、アプリを再び開く時にそのデータをコレクションに自動的にロードする方法については、「コレクションにデータを保存する」を参照してください。
データを別のソースから追加してコレクションを作成する
データを別のソースから追加し、ボタン コントロールを追加して、そのボタンの OnSelect プロパティを以下の構文の関数に設定します。
Collect(CollectionName, DataSourceName)
たとえば、以下の関数を使用して、Excel からインポートした Contoso という名前のテーブルから Products という名前のコレクションを作成します。
Collect(Products, Contoso)
次の構文を使用して、データ ソース内の 1 列のみからコレクションを作成できます。
Collect(CollectionName, DataSourceName!ColumnName)
F5 キーを押し、ボタンをクリックしてから、Esc キーを押してデザイン ワークスペースに戻ります。
列を既存のコレクションに追加してコレクションを作成する
ギャラリーを 1 つ追加し、その Items プロパティに次の構文の関数を設定します。
AddColumn(NameOfCollectionToUpdate, "NameOfColumnToAdd", Expression)
たとえば、以下の構造の RevenueByProduct という名前のコレクションに列を追加できます。
Years
Violins
Trombones
ボンゴ
2012
$21,000
$15,000
$14,000
2013
$26,000
$17,000
$19,000
2014
$28,000
$21,000
$23,000
それから次の関数を使用して、各年の利益総額を示す AnnualRevenue という名前の列を追加できます。
AddColumn(RevenueByProduct, "AnnualRevenue", Violins + Trombones + Bongos)
ボタンを 1 つ追加し、その OnSelect プロパティに次の構文に従う関数を設定します。
Collect(NameOfNewCollection, NameOfGallery!AllItems)
たとえば、次の関数を使用して、FullTable という名前のギャラリーにあるすべてのデータを含む RevenueByYear というコレクションを作成できます。
Collect(RevenueByYear, FullTable!AllItems)
F5 キーを押し、ボタンをクリックしてから、Esc キーを押してデザイン ワークスペースに戻ります。
RevenueByYear という名前のコレクションには、その他の 4 列と共に新しい列が含まれるようになります。そのデータを使用してグラフを作成することなどができるようになります。
ギャラリーから 1 つ以上の項目を追加してコレクションを作成する
コレクションのデータを表示するギャラリーを作成します。
ギャラリー内の最初の項目の左側の列にあるラベルをクリックしてから、その OnSelect プロパティ ([動作] カテゴリ内) を以下の構文の関数に設定します。
Collect(CollectionName, ThisItem)
たとえば、以下の関数を使用して、ギャラリー内でクリックした項目のみが含まれる WishList というコレクションを作成します。
Collect(WishList, ThisItem)
F5 キーを押し、ギャラリー内のいくつかの項目をクリックし、Esc を押してデザイン ワークスペースに戻ります。
Alt + F を押し、[アプリのデータ] をクリックし、[コレクション] をクリックしてコレクションのプレビューを表示します。
コレクションから 1 行以上のデータを削除します。
コレクションを作成し、次いでデータを表示するカスタム ギャラリーを作成します。
そのギャラリー内で、最初の項目の左側の列にあるラベルをクリックして、そのラベルの OnSelect プロパティを以下の構文の関数に設定します。
Remove(CollectionName, ThisItem)
ボタンを 1 つ追加し、その OnSelect プロパティに以下の関数を設定します。
Clear(CollectionName)
F5 キーを押してからギャラリーの項目をクリックし、コレクションからその項目を削除します。
ボタンをクリックして、コレクションからすべての項目を削除し、Esc を押してデザイン ワークスペースに戻ります。
コレクションにデータを保存する
コレクションを作成し、次いでデータを表示するカスタム ギャラリーを作成します。
Collect 関数の後に SaveData 関数を追加します。
Collect(CollectionName, Expression);SaveData(CollectionName, "LocationName")
たとえば、このトピックの最初の操作の手順を実行した場合、ボタンの OnSelect プロパティを次の関数に変更します。
Collect(ViolinRev, {Years:Year!Text, Violins:Value(ViolinRevenue!Text)});SaveData(ViolinRev, "RevenueFile")
ギャラリーで、項目を削除するために使用するコントロールをクリックし、そのコントロールの OnSelect プロパティを次の構文の関数に設定します。
Remove(CollectionName, ThisItem);SaveData(CollectionName, "LocationName")
画面の OnVisible プロパティを以下の構文の関数に設定します。
If(IsEmpty(CollectionName), LoadData(CollectionName, "LocationName")
コレクションの 1 つ以上の項目を追加または削除して、Project Siena を閉じ、再度開きます。
Alt + F を押し、[アプリのデータ] をクリックし、[コレクション] をクリックしてデータが保存されていることを確認します。