データ選択の設定
グリッドでは、RowSelection ウィジェットプロパティのコンフィギュレーションに基づいて、単一行選択モードと複数行選択モードがサポートされています。デフォルトでは、行選択は無効になっています。SelectedRows および LastClickedRow ウィジェットプロパティを使用して、選択したデータ行をマッシュアップ内のほかのウィジェットまたはデータサービスに渡すことができます。たとえば、データ行を渡して折れ線グラフウィジェットで表示できます。これらのプロパティをデータサービスへの入力として使用することもできます。デザインタイムでグリッドウィジェットの「プロパティ」パネルで選択を設定できます。グリッドでは、直接クリックを使用した単一選択か、行選択列を使用した複数選択がサポートされています。
選択なし (デフォルト)
デフォルトでは、グリッドウィジェットでのデータ選択は無効になっており、ユーザーが行をクリックして選択すると、マウスポインタを合わせた状態だけが示されます。
単一行選択
グリッド上の 1 つの行を選択できるようにするには、単一選択を使用します。行の中の任意のセルをクリックすることでその行を選択します。選択した行は特定の色でハイライトされます。この色はグリッドのスタイルプロパティまたはスタイルテーマを使用して変更できます。選択した行はインフォテーブルとして SelectedRows ウィジェットプロパティに保存されます。
* 
SelectedRows プロパティにはグリッド上の除外された列のデータが含まれます。
複数行選択
複数選択が有効になっている場合、グリッドデータの左側に選択列が追加されます。ヘッダー行のチェックボックスを使用してグリッド内のすべてのデータを選択したり、行の横のチェックボックスを使用して 1 行を選択したりできます。選択状態によってグリッドデータを並べ替えるには、列ヘッダーの並べ替えボタンをクリックします。
行の事前選択
以下の 2 つのウィジェットプロパティのいずれかを使用して、グリッドがランタイムで表示されるときにデフォルトで選択されるグリッド上のデータ行を指定できます。
DefaultSelectedRows - 範囲を指定する値 (2–5 など) または数値のコンマ区切りリスト (2,3,6 など) を入力またはバインドすることによって、グリッド上のデータ行を事前選択します。このプロパティはツリーグリッドには適用されません。
SelectedRows - 選択するデータ行を含むインフォテーブルを渡すことによってデータを事前選択します。たとえば、棒グラフのデータサービスの「選択行」出力プロパティをグリッドウィジェットの SelectedRows 入力プロパティに渡すことができます。チャート上で選択したアイテムがグリッド上でハイライトされます。
* 
RowSelection プロパティが「なし」に設定されている場合、上記のプロパティは選択に影響しません。1 つ以上の行を選択するには、RowSelection プロパティを「単一」または「複数」に設定する必要があります。
ThingWorx 9.3.4 以降では、次のプロパティを使用してツリーグリッドでの選択を設定できます。
SelectFocuedItem - フォーカスボックスが移動したときに、フォーカスがある行またはセルを自動的に選択します。FocusNavigationMode プロパティを使用して、フォーカスボックスを移動したときにフォーカスするエレメントを設定できます。
IDPathSeperator - 動的にロードする行を選択するときに使用する特殊文字を設定します。id 列で行への ID パスを指定できます。デフォルトのセパレータは :; です。
ツリーグリッドでの動的にロードされる行の選択
ツリーグリッドでクライアントにまだロードされていない行を展開して選択するには、IDFieldName プロパティによって指定される 1 つ以上の ID 列をインフォテーブルに作成し、選択する行への行 ID のフルパスを含めます。デフォルトでは、:; 文字の組み合わせがパスセパレータとして使用されますが、Mashup Builder または JSON コンフィギュレーションファイルで IDPathSeparator プロパティを設定することでこれを変更できます。
たとえば、ID ddd の行を選択するには、以下の ID 値を含む列をインフォテーブルに作成します。
//aaa:;bbb:;ccc:;ddd.
子行を選択すると、デフォルトでは、子の ID だけが SelectedRows インフォテーブルに渡されます。選択した子の完全な ID パスを含めるには、IncludeRowExpansionParents プロパティを true に設定します。選択した行のインフォテーブルがグリッドに送信され、リストされている行がグリッドにまだロードされていない場合、ツリーグリッドはバインドされているデータサービスに対してリクエストを自動的に生成します。
グリッドでの行の無効化
グリッド上の各行の無効状態を制御するインフォテーブル列をグリッドデータに追加できます。グリッド上のデータを無効にするには、以下の手順を実行します。
1. 「プロパティ」パネルで、AllowDisabledNodes を true に設定します。
2. DisabledStateField プロパティを使用して、無効状態のデータを含むインフォテーブル列を選択します。
ツリーグリッドで無効になっている親行の下の子行を無効にするには、DisableChildNodes プロパティを有効にします。
3. 「保存」をクリックして、マッシュアップを表示します。
無効状態のデータはランタイムで行に適用されます。
選択したデータを渡す
行選択が「単一」または「複数」に設定されている場合、グリッドの SelectedRows プロパティを使用して、グリッド上で選択したデータを渡すことができます。このプロパティのバインド方向は双方向です。このプロパティを出力または入力としてバインドできます。出力バインドを使用してグリッド上の選択を別のデータサービスまたはウィジェットに渡したり、入力バインドとしてウィジェットまたはデータサービスを使用して行の選択を制御したりします。行選択が無効になっているグリッドからデータを渡すには、LastClickedRow インフォテーブルプロパティを使用します。このプロパティのバインド方向は出力のみであり、グリッド上で最後にクリックした行のインフォテーブルデータを渡すときに使用できます。
行選択イベントへの応答
ランタイムで行を選択またはクリックすると、RowClicked イベントがトリガーされます。単一選択または複数選択が有効になっている場合、さらに SelectedRowsChanged イベントが生成されます。これらのイベントのいずれかを使用して、関数およびウィジェット内でデータサービスまたはサービスを実行できます。
これは役に立ちましたか?