Apps (アプリ)
最新
バナーの背景画像
LEGACY
レガシ Apps ユーザー ガイド
最終更新日 2024年1月18日

データ ソースと値のバインドを操作する

バックグラウンド情報

コントロールの [データ ソース] フィールドと [値のバインド] フィールドは双方向のバインドです。つまり、どちらも、そのコントロールにバインドされているルート データを更新できます。

理解を深めるために、簡単な例を使用できます。アプリにラベルとテキストボックスを追加して、アプリ変数を作成することができます。テキストボックス コントロールの [値のバインド] プロパティとラベル コントロールの [テキスト] プロパティを変数に割り当てます。アプリのプレビュー時に、テキストボックスの値を変更すると、アプリ変数も更新されることに注意してください。一方、[テキスト] プロパティは一方向のバインド フィールドで、更新できないデータのみを表示します。

この例では、プロセスで得られたカスタム リストから複数の項目を選択できるアプリを作成します。

この例では、以下を構築します。

  • オートメーション プロセス
  • UiPath Apps を使用するアプリ

ワークフローを構築する

この例の最初のステップは、UiPath Studio でワークフローを構築することです。これは、いくつかの引数で構成される簡単なワークフローです。

  1. Studio を開いて、新しいプロセスを作成します。
  2. 次の引数を作成します。

    引数名

    方向

    引数の型

    既定値

    out_DataTable

    Out

    データ テーブル

    -

    in_SelectedItems

    In

    データ テーブル

    new DataDable
    filtered_SelectedItems

    Out

    データ テーブル

    -

  3. ワークフロー デザイナー[シーケンス] をドラッグします。
  4. [シーケンス] コンテナーに、[データ テーブルを構築] アクティビティを追加します。

    • [データ テーブル] フィールドに out_DataTable 引数を追加します。
    • [選択済み] という名前の列を追加します。
    • 下図に示すように表を設定します。



  5. [データ テーブルを構築] アクティビティの下に [条件分岐 (if)] アクティビティを追加し、以下の手順に従って設定します。

    • [条件] フィールドに in_SelectedItems.Rows.Count > 0 を追加します。
    • 以下に示すように、[Then][Else] を設定します。

      Then

      1. [Then] コンテナー内に [シーケンス] をドラッグします。

      2. [シーケンス] コンテナー内に [代入] アクティビティを追加します。

      - [保存先] フィールドに filtered_SelectedItems を追加します。

      - [値] フィールドに (from r In in_SelectedItems.Select() Where r("Selected").Equals(true) Select r).CopyToDataTable を追加します。

      3. [代入] アクティビティの下に [メッセージをログ] アクティビティを追加します。
      - [ログ レベル]Info に設定します。
      - [メッセージ] フィールドに filtered_SelectedItems.ToString を追加します。

      Else

      1. [Else] コンテナー内に [シーケンス] をドラッグします。

      2. [代入] アクティビティの下に [メッセージをログ] アクティビティを追加します。

      - [ログ レベル]Info に設定します。
      - [メッセージ] フィールドに "First run or empty" を追加します。

結果

最終的に、ワークフローは下図のようになります。



重要:

プロセスの入力または出力で複雑な .NET オブジェクト (DataTable など) を使用している場合、App Studio は、既定ではそのオブジェクトのフィールドを認識できません。フィールドを指定するには、次の 2 つの方法があります。

  • プロセスをアプリに追加する前に、そのプロセスを実行します。プロセスがオブジェクトを使用する場合、Apps によってジョブの履歴が確認され、そのオブジェクトのスキーマ/フィールドが自動的に検出されます。
  • プロセスの入出力用のオブジェクト フィールドを手動で指定します。プロセスにジョブの履歴がない場合は、プロセスがアプリに追加された後に、アプリで使用するためにフィールドを手動で指定する必要があります。

手動でプロセスに追加したパラメーターは、プロセスを更新すると削除されます。

アプリを構築する

ワークフローを構築する」の手順でワークフロー ビルドを Orchestrator にパブリッシュしたら、次はアプリ自体を構築します。

  1. 新しいアプリを作成します。
  2. 上記で構築されたプロセスを参照します。
  3. 1 つの [カスタム リスト] コントロールと 1 つの [表] コントロールをアプリに並べて追加します。
  4. 表の [データ ソース] フィールドで、プロセスから Out: out_DataTable を追加します。


  5. [チェックボックス] コントロールと [テキストボックス] コントロールをカスタム リストに追加し、次のように設定します。
    • チェックボックス コントロールの [ラベル] フィールドに、プロセスの Out: out_DataTable セクションの Out: Item 項目を追加します。
    • チェックボックス コントロールの [値のバインド] フィールドに、プロセスの Out: out_DataTable セクションの Out: Selected 項目を追加します。
    • テキストボックス コントロールの [値のバインド] フィールドに、プロセスの Out: out_DataTable セクションの Out: Quantity 項目を追加します。
  6. [ボタン] コントロールを追加し、Run という名前を付けます。[クリック時] ルールを次のように設定します。
    • [プロセスを開始] ルールを追加します。
    • [ジョブ名] フィールドに名前を追加し、[Attended] としてマークします。
    • [入力の上書き] フィールドに in_SelectedItemsOut.out_DataTable を追加します。


  7. ボタンの下にコンテナーを追加します。
  8. 2 つの [ラベル] コントロールを並べて追加します。
    • 1 つ目のラベルの [テキスト] フィールドに、プロセスの Out: filtered_SelectedItems セクションの filtered_SelectedItems.Item 項目を追加します。
      • 1 つ目のラベルの [テキスト] フィールドに、プロセスの Out: filtered_SelectedItems セクションの filtered_SelectedItems.Quantity 項目を追加します。

結論

アプリをプレビューするときに、プロセスで得られたカスタム リスト内の項目を選択できます。



この例の鍵は、データ ソース、値のバインド、および入力の違いをよりよく理解することです。

  • データ ソースと値のバインドは双方向のバインドです。つまり、どちらも、コントロールにバインドされているルート データを更新できます。
  • 入力の上書きを使用すると、プロセスのデータ テーブルや Data Service のエンティティなどの他のソースからのオブジェクトを渡すことができます。
  • バックグラウンド情報
  • ワークフローを構築する
  • アプリを構築する
  • 結論

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.