グリッドでの行の追加と削除
ウィジェットの RowAddButton および RowDeleteButton プロパティを使用して、ランタイムでグリッド上の行を追加または削除できます。グリッドに対するデータの変更は、ウィジェットの EditedTable および DeleteTable プロパティに保存されます。グリッドの編集は、クライアント側に保存されます。サーバー上のデータを更新するには、これらのインフォテーブルをカスタムデータサービスにバインドします。
グリッドへの行の追加
1. Mashup Builder で、グリッドウィジェットを選択します。
2. 「プロパティ」パネルで、RowAddButton プロパティを True に設定します。
3. 「保存」をクリックし、「マッシュアップを表示」をクリックします。
ランタイムで新規行を追加するには、「追加」をクリックし、フォームを使用してセルの値を設定します。デフォルトでは、標準グリッドとツリーグリッドの一番下に新規行が追加されます。行データは EditedData インフォテーブルプロパティに保存されます。このプロパティを使用することで、カスタムデータサービスを使用して新規データ行をサーバーに追加できます。グリッドデータがページ付けされている場合、現在のページに新しい行が追加されます。たとえば、1 ページ上の結果の最大数が 10 に設定されている場合に、ユーザーがランタイムで新規行を追加すると、現在のページの行数が 11 に変わります。
フィルタボックスを使用しているときにグリッドに新規行を追加すると、現在のフィルタがリセットされます。グリッドがチップベースのデータフィルタやサービスなどの外部フィルタを使用する場合、フィルタは永続化されます。新規行が追加されたときにフィルタを適用するには、フィルタサービスをトリガーする必要があります。並べ替えがグリッドに適用されている場合、新規行が自動的に並べ替えられます。ツリーグリッドのデフォルトでは、データの末尾に新しい行が追加されます。新規行を親行の子として追加するには、親行を選択するか、親行 ID をデータに含めます。
|
行のデータが有効であることを確認するには、各列の検証を設定します。
|
グリッド上の新規行のハイライト
ThingWorx 9.4 以降では、HighlightNewRows プロパティを有効にすることで、グリッド上の新規行の横にインジケータを表示できます。これにより、大きなデータセット内のデータを並べ替えたりフィルタしたりする際に新規行を簡単に見つけることができます。行を選択するかページを再表示すると、インジケータは除去されます。
グリッドからの行の削除
ウィジェットの RowSelection プロパティが「単一」または「複数」に設定されている場合は、行を選択して削除できます。行を削除するには、次の手順を実行します。
1. Mashup Builder で、グリッドウィジェットを選択します。
2. 「プロパティ」パネルで、RowDeleteButton プロパティを True に設定します。
3. 「保存」をクリックし、「マッシュアップを表示」をクリックします。
ランタイムで、削除する行を選択し、「削除」をクリックします。削除された行は DeletedData インフォテーブルに追加されます。これらの行をグリッドデータソースから削除するには、インフォテーブルをカスタムデータサービスにバインドします。
| ツリーグリッドから親行を削除すると、その行の下にある子もすべて削除されます。 |
行を削除する際の確認メッセージの表示
ThingWorx 9.3.1 以降では、ウィジェットのイベントおよびサービスを使用して、削除操作を確認ダイアログボックスにバインドできます。これにより、1 つ以上のデータ行が削除される場合に確認メッセージを表示できます。確認メッセージを追加および設定するには、次の手順を実行します。
1. Mashup Builder の「関数」パネルで確認を作成し、次のように関数を設定します。
◦ 確認ダイアログボックスのタイトルとメッセージを定義します。
◦ 操作ボタンのラベルを定義します。
確認関数の詳細については、
確認を参照してください。
2. グリッドウィジェットの「プロパティ」パネルにある DeleteRowClicked イベントを、「関数」パネル上の確認関数の OpenConfirmation サービスにバインドします。
3. この関数の ActionClick イベントをグリッドの ConfirmDelete サービスにバインドします。
4. 「保存」をクリックして、マッシュアップを表示します。
グリッドで 1 つ以上の行を選択して削除すると、確認メッセージが表示されます。
Delete をクリックすると、グリッドウィジェットの ConfirmDelete サービスが実行され、グリッドから行が除去されます。
| グリッドからデータを完全に削除するには、データサービスレベルでデータを削除するデータサービスを使用する必要があります。 |