Forguncy 10 オンラインヘルプ
アプリの開発 / 画面の設計 / セル / セル型 / リピーター
このトピックで
    リピーター
    このトピックで

    セル型でリピーターを作成します。リピーターは、ページとは別にレイアウトしたテンプレートをリストビューのデータの件数分繰り返して表示するセル型です。繰り返し表示を行う方向は、縦方向、横方法のほか、折り返し表示にも対応しています。また、リピーターは表示だけでなくデータの編集にも対応しています。

    リピーターは元データとしてリストビューを使用する必要があるため、ここでは以下のようなリストビューがあることを前提にリピーター型セルの使い方を説明します。なお、元データとなるリストビューは必ずしも実行時の画面上に表示されている必要はなく、非表示行や非表示列として、画面上に表示しないようにしても構いません。ただし、ページをエクスポートする場合にはリピーター型セルの右側、もしくは左側の領域にはリストビューを作成しないでください。リストビューやリピーター型セルは、エクスポート処理の中で出力するデータに合わせて動的な行の追加が行われます。リピーター型セルの右隣にリストビューやほかのリピーター型セルを配置した場合、それによる動的な行の追加の影響を受けるため、出力されるレイアウトは期待する結果となりません。

    注意:ページロード時のコマンドでクエリーコマンドを使用してリピーター型セルに表示されるデータを絞り込む場合、データソースとするリストビューの[ページ表示時にリストビューのデータを読み込まない]プロパティを有効に設定するようにしてください。本設定が無効の場合、データソースとするリストビューにデータ連結されているテーブルのデータ全件がリピーター型セルに描画され、その状態からのクエリーで絞り込まれた結果への差分変更行われる動作となります。このような差分変更が大量に発生する場合、変更量に応じてリピーター型セルの描画に時間がかかり、パフォーマンス上の問題となる可能性があります。

    1. リストビューを右クリックし、コンテキストメニューから[列名を自動設定]を選択し、すべての列に列名を設定します。

      リピーター型セルのテンプレートでは、テーブルのフィールドに対して直接データ連結を行うのではなくリストビューの列に対して連結を行うため、列名が必要となります。

    2. セルの領域を選択し、[リピーター]型セルを設定します。

    3. 作成した[リピーター]型セルを選択した状態で、右ペインの[セル型]タブにある[データソースとするリストビュー]ドロップダウンボタンリストから、対象のリストビューを選択します。

    4. 右ペインの[セル型]タブにある[テンプレートの編集...]ハイパーリンクをクリック、またはリピーター型セルをダブルクリックしてテンプレート編集画面へと作業ウィンドウを切り替えます。

      [リピーター]型セルを右クリックし、コンテキストメニューの「テンプレートの編集」を選択することでも同様の操作を行えます。

    5. テンプレートをデザインし、リストビューのデータを表示させたいセルの場合には、右ペインの[セル型]タブにある[連結するリストビューの列]に任意の列名を設定します。

      データの表示だけでなく、入力が可能なセル型を使用してデータの編集を行うことも可能です。その場合、データの確定処理は対象のリストビューの設定に依存します。
      [連結するリストビューの列]の(選択の状態)は、リストビューの「選択列」と連動しています。選択状態が1、未選択の状態は0となります。例えば、チェックボックス型セルに対して(選択の状態)連結することで、リピーターセルにも「選択列」と同等の機能を構築することができます。

    6. テンプレートのシート上に表示されている破線は、親ページの[リピーター]型セルの大きさを表しています。

      参考:

      [テンプレートページ ツール]コンテキストタブセットの[デザイン]コンテキストタブにある[親ページのスナップショット]トグルボタンをクリックすると、親ページの状態を同時に確認しながらテンプレートを編集できます。もう一度[親ページのスナップショット]トグルボタンをクリックすると、元の状態へと戻ります。

    7. [テンプレートページ ツール]コンテキストタブセットの[デザイン]コンテキストタブにある[テンプレート編集の終了]ボタンをクリックして、親ページへと戻ります。

    8. [ホーム]リボンタブにあるデバッグの[開始]ボタンをクリックすると、次の図のようにリストビューのレコード数分だけリピーターのテンプレートに連結データが表示され、繰り返し表示が行われることを確認できます。

      ヒント:

      リピーターに連結しているリストビューに[新規行の追加を許可]がチェックされている場合、アプリケーション実行中、リピーターセルの最終行に空白のテンプレートが追加されます。

    プロパティ一覧

    リピーター型セルの右ペインにある[セル型]タブで設定可能はプロパティは次の通りです。

    プロパティ

    説明

    既定値

    データソースとするリストビュー

    リピーター型セルのテンプレートにデータを連結するリストビューを選択します。リストビューを選択していない場合、「テンプレートの編集」を行うことはできません。

    ページ内にリストビューが存在する場合、そのいずれかのリストビューが自動的に設定されます。

    テンプレートの編集

    作業ウィンドウをテンプレートを編集する画面へと切り替えます。

    クリック時のコマンド クリック時に実行されるコマンドを設定します
    ダブルクリック時のコマンド ダブルクリック時に実行されるコマンドを設定します。

    表示モード

    次の3つのモードをサポートします。

    • 縦方向:テンプレートを1列で縦方向に並べて表示します。このモードの場合に限り、セルの横位置の設定が有効となります。

    • 横方向:テンプレートを1行で横方向に並べて表示します。

    • 折り返し:テンプレートを領域の終端で折り返して表示します。並べる方向は[折り返し方向]プロパティで設定します。

    縦方向

    折り返し方向

    [表示モード]が「折り返し」の場合にのみプロパティとして表示されます。行方向に並べて折り返すか、列方向に並べて折り返すかのどちらかを選択します。

    行方向

    親ページへの表示方法

    次の3つのモードをサポートします。

    • オーバーフロー:テンプレートの表示サイズに合わせてリピーターが拡張されて、すべての内容が表示されます。

    • スクロール:リピーターにスクロールバーが表示されます。

    • カット:リピーターの大きさ分だけテンプレートが表示され、そこからはみ出る部分は表示されません。

    スクロール

    データが存在しない場合の表示設定

    データが存在しない場合に表示する画像と文字列を設定します。この表示はリピーターの配置設定(横位置と縦位置)が反映されます。

    プロパティ

    説明

    既定値

    画像

    データが存在しない場合にリピーターに表示する画像を設定します。

    画像の大きさ

    画像の大きさをピクセル単位で指定します。

    25

    テキスト

    データが存在しない場合にリピーターに表示する文字列を設定します。

    並び方向

    次の2つのモードをサポートします。

    • 横方向:画像に対して右側にテキストを配置します。

    • 縦方向:画像に対して下側にテキストを配置します。

    横方向

    設定なし

    データの編集

    データの確定処理

    データの確定処理は、[リピーター]型セルのデータソースとするリストビューの[データの確定タイミング]設定により異なります。

    データの入力規則の検証動作

    テンプレートの上の入力セルに設定したデータの入力規則がエラーの場合、以下のコマンドは実行されません。

    補足事項、および注意事項

    アプリケーション設計時

    アプリケーション実行時