# DataViewer **コントロール機能**:ページネーションされたデータを表示するためのコンテナコントロールです。前後のページのスクロールによる読み込み、行レコードの操作(追加・削除・変更・検索)、ツールバーのコマンド応答、およびデータ行の動的レンダリングをサポートしています。主にデータリストや表形式のシナリオで使用されます。 **タイプ**:コンテナコントロール **親クラスコントロール**:`bricks.VBox` ## 初期化パラメータ | パラメータ名 | 型 | 説明 | |------------|----|------| | `data_url` | String | データ読み込み用のAPI URL。`PageDataLoader`が使用します。 | | `data_params` | Object | データリクエスト時に付加されるパラメータ。各リクエストで送信されます。 | | `page_rows` | Number | 1ページあたりにリクエストするデータ件数。 | | `data_method` | String | リクエストメソッド(例:'GET'または'POST')。デフォルトは'GET'。 | | `cache_limit` | Number | キャッシュ可能なページ数の上限。メモリ内に保持される履歴ページの数を制御します。 | | `editable` | Object | 追加、更新、複製、削除などの操作に関するオプション設定。アイコンとURLを定義可能。 | |   `.add_icon` | String | 追加ボタンのアイコンパス。 | |   `.update_icon` | String | 更新ボタンのアイコンパス。 | |   `.clone_icon` | String | 複製ボタンのアイコンパス。 | |   `.delete_icon` | String | 削除ボタンのアイコンパス。 | |   `.new_data_url` | String | 新規レコード登録時の送信先URL。 | |   `.update_data_url` | String | レコード更新時の送信先URL。 | |   `.delete_data_url` | String | レコード削除時の送信先URL。 | | `toolbar` | Object | カスタムツールバーの定義オブジェクト。追加コマンドボタンを含む。 | | `row_options` | Object | 行のレンダリングに関するオプション。 | |   `.fields` | Array | フィールド定義の配列。各フィールドにはname、uitypeなどの情報が含まれる。 | |   `.editexclouded` | Array | 編集/複製時に対象外となるフィールド名のリスト。 | > ⚠️ 全ての初期化パラメータは`opts`を通じて渡されます。コンストラクタにより、幅が自動的に`'100%'`、高さが`'100%'`、オーバーフロー非表示に設定されます。 ## 主なイベント | イベント名 | 発生条件 | 渡されるデータ(event.params)の説明 | |----------|--------|-------------------------------| | `row_check_changed` | 任意の行の選択状態が変化したときに発生(サブクラスまたは内部機構によって呼び出される) | その行のユーザー定義データ(`user_data`)を含むオブジェクト | | `` | ツールバー内の組み込み以外のボタンがクリックされたとき、ボタンの`name`を使ってカスタムイベントが発行される | 現在選択中の行がある場合、その行の`user_data`を渡す。ない場合はnull | | `command` | 内部使用。`IconTextBar`から送られるオリジナルのコマンドイベント | オリジナルのツールアイテム情報 `{ name, selected_row }` | > 💡 特殊コマンドの処理: > - `add`: 新規作成フォームのポップアップウィンドウを表示 > - `update`: 現在選択されている行を編集するフォームをポップアップ > - `clone`: 現在の行を基に複製した新規フォームをポップアップ > - `delete`: 確認ダイアログを表示し、承認後に削除を実行 ---