Project Siena でコレクションを作成および管理する

 

Project Siena でコレクションを作成すれば、ユーザーからデータを収集してその情報を保存したり、別のソースから収集したデータを変更してその変更内容を保存したりすることができます。Project Siena の概要や、サンプル アプリ、ビデオ チュートリアル、フォーラムなどのリソースへのリンクについては、「Project Siena」を参照してください。

必須コンポーネント

ユーザーが提供するデータからコレクションを作成する (またはコレクションに行を追加する)

  1. 作成または更新するコレクションの各列のテキスト入力コントロールを追加します。

    コントロールを追加して名前を付ける方法については、「初めてのアプリを Project Siena で作成する」を参照してください。

    たとえば、YearViolinRevenue という 2 つのテキスト入力コントロールを追加して、2 つの列を含んだコレクションを作成または更新できます。

  2. (省略可能) 各コントロールの目的を識別するラベルを追加します。

  3. ボタンを 1 つ追加し、その OnSelect プロパティに次の構文に従う関数を設定します。

    Collect(CollectionName, {ColumnName1:NameOfInputControl1Text, ColumnName2:NameOfInputControl2!Text, ...})

    たとえば、以下の関数を使用して、2 つの列を含んだ ViolinRev という名前のコレクションを作成または更新できます。Years という名前の列には、Year という名前のテキスト入力コントロールからのデータが格納され、Violins という名前の列には、ViolinRevenue という名前のテキスト入力コントロールからのデータの数値が格納されます。

    Collect(ViolinRev, {Years:Year!Text, Violins:Value(ViolinRevenue!Text)})

  4. (省略可能) ボタンを選択した状態で、左下隅に [データ] が表示されたらそれをクリックして、ボタンの Text プロパティを Collect に設定します。

  5. F5 キーを押し、各テキスト入力コントロールにデータを追加してから、ボタンをクリックします。

  6. 追加する行ごとに前述の手順を繰り返し、それから、Esc キーを押してデザイン ワークスペースに戻ります。

    注意

    テキスト入力コントロールのデータを変更しないでボタンを複数回クリックすると、それが意図的であってもなくても、重複項目が作成されます。不要な項目を削除する方法については、「コレクションから 1 行以上のデータを削除する」を参照してください。

  7. (省略可能) コレクションをプレビューするには、Alt+F キーを押し、[アプリのデータ] をクリックしてから、[コレクション] をクリックします。

    1 つのデータ系列を持つコレクションを表示する

  8. (省略可能) カスタム ギャラリーを作成して、コレクションをアプリに表示します。

    2 つのラベル、2 つの入力ボックス、ボタン、ギャラリー

    テキストを通貨としてフォーマットする方法については、「テキスト」を参照してください。アプリを閉じる前にコレクション内のデータを保存し、アプリを再び開く時にそのデータをコレクションに自動的にロードする方法については、「コレクションにデータを保存する」を参照してください。

データを別のソースから追加してコレクションを作成する

  1. データを別のソースから追加し、ボタン コントロールを追加して、そのボタンの OnSelect プロパティを以下の構文の関数に設定します。

    Collect(CollectionName, DataSourceName)

    たとえば、以下の関数を使用して、Excel からインポートした Contoso という名前のテーブルから Products という名前のコレクションを作成します。

    Collect(Products, Contoso)

    次の構文を使用して、データ ソース内の 1 列のみからコレクションを作成できます。

    Collect(CollectionName, DataSourceName!ColumnName)

  2. F5 キーを押し、ボタンをクリックしてから、Esc キーを押してデザイン ワークスペースに戻ります。

列を既存のコレクションに追加してコレクションを作成する

  1. ギャラリーを 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)

  2. ボタンを 1 つ追加し、その OnSelect プロパティに次の構文に従う関数を設定します。

    Collect(NameOfNewCollection, NameOfGallery!AllItems)

    たとえば、次の関数を使用して、FullTable という名前のギャラリーにあるすべてのデータを含む RevenueByYear というコレクションを作成できます。

    Collect(RevenueByYear, FullTable!AllItems)

  3. F5 キーを押し、ボタンをクリックしてから、Esc キーを押してデザイン ワークスペースに戻ります。

    RevenueByYear という名前のコレクションには、その他の 4 列と共に新しい列が含まれるようになります。そのデータを使用してグラフを作成することなどができるようになります。

ギャラリーから 1 つ以上の項目を追加してコレクションを作成する

  1.  コレクションのデータを表示するギャラリーを作成します

  2. ギャラリー内の最初の項目の左側の列にあるラベルをクリックしてから、その OnSelect プロパティ ([動作] カテゴリ内) を以下の構文の関数に設定します。

    Collect(CollectionName, ThisItem)

    たとえば、以下の関数を使用して、ギャラリー内でクリックした項目のみが含まれる WishList というコレクションを作成します。

    Collect(WishList, ThisItem)

  3. F5 キーを押し、ギャラリー内のいくつかの項目をクリックし、Esc を押してデザイン ワークスペースに戻ります。

  4. Alt + F を押し、[アプリのデータ] をクリックし、[コレクション] をクリックしてコレクションのプレビューを表示します。

    2 つの項目をもつコレクションのプレビュー

コレクションから 1 行以上のデータを削除します。

  1. コレクションを作成し、次いでデータを表示するカスタム ギャラリーを作成します。

  2. そのギャラリー内で、最初の項目の左側の列にあるラベルをクリックして、そのラベルの OnSelect プロパティを以下の構文の関数に設定します。

    Remove(CollectionName, ThisItem)

  3. ボタンを 1 つ追加し、その OnSelect プロパティに以下の関数を設定します。

    Clear(CollectionName)

  4. F5 キーを押してからギャラリーの項目をクリックし、コレクションからその項目を削除します。

  5. ボタンをクリックして、コレクションからすべての項目を削除し、Esc を押してデザイン ワークスペースに戻ります。

コレクションにデータを保存する

  1. コレクションを作成し、次いでデータを表示するカスタム ギャラリーを作成します。

  2. Collect 関数の後に SaveData 関数を追加します。

    Collect(CollectionName, Expression);SaveData(CollectionName, "LocationName")

    たとえば、このトピックの最初の操作の手順を実行した場合、ボタンの OnSelect プロパティを次の関数に変更します。

    Collect(ViolinRev, {Years:Year!Text, Violins:Value(ViolinRevenue!Text)});SaveData(ViolinRev, "RevenueFile")

  3. ギャラリーで、項目を削除するために使用するコントロールをクリックし、そのコントロールの OnSelect プロパティを次の構文の関数に設定します。

    Remove(CollectionName, ThisItem);SaveData(CollectionName, "LocationName")

  4. 画面の OnVisible プロパティを以下の構文の関数に設定します。

    If(IsEmpty(CollectionName), LoadData(CollectionName, "LocationName")

  5. コレクションの 1 つ以上の項目を追加または削除して、Project Siena を閉じ、再度開きます。

  6. Alt + F を押し、[アプリのデータ] をクリックし、[コレクション] をクリックしてデータが保存されていることを確認します。

See Also

Project Siena で関数を作成する