2021/05/30

MANUAL

FAQ:サンプルコード:親テーブルの項目の値を子テーブルの項目に転記する

## 新機能 1. .NET Framweork版 0.50.251 以降、.NET Core版 1.1.27 以降のバージョンでは「[スクリプト](/manual/table-management-script)」を使用せず「[ルックアップ](/manual/table-editor-lookup)」機能で実現可能です。 ## 概要 「[リンク](/manual/table-management-choices-text-link)」機能で親子関係を結んでいるテーブルにおいて、親テーブルで入力された項目の値を子テーブルの項目に転記します。 例として、[Aテーブル(親)] [Bテーブル(子)]の時、 Bテーブルの「分類A」をリンク項目として、 Bテーブルの「分類B」にAテーブルの「分類A」の値をセットする場合のサンプルコードを以下に記載します。(この例では、Bテーブルにスクリプトを設定します) プリザンターでは「$p.apiGet」を使用すると、レコードIDを指定するだけでajaxのPOSTリクエストによる値の取得が可能です。 ## 事前準備 1. スクリプトを設定したいテーブルを選択してレコード一覧画面を表示する 1. 画面右上の[管理]-[テーブルの管理]を選択し、テーブルの管理画面を表示する 1. [スクリプト]タブを選択後「新規作成」ボタンを押下し、スクリプトの設定を行う 1. 「タイトル」「[スクリプト](/manual/table-management-script)」を記述したら、「出力先」で"新規作成","編集"にチェックを付ける  ※[ダイアログで編集]の設定をしている場合、"一覧"にもチェックが必要です ##### JavaScript ``` //編集画面読込時のイベント $p.events.on_editor_load = function () { getParentData(); } //Bテーブルの「分類A」の値が変更されるたびに呼び出されるイベント $(document).on('change', '#' + $p.tableName() + '_ClassA', function () { getParentData(); }); function getParentData() { //Bテーブルの「分類A」に値がセットされている場合のみ、Aテーブルの指定したレコードの値を取得する if ($('#' + $p.tableName() + '_ClassA').val()) { $p.apiGet({ //Bテーブルの「分類A」の値(レコードID)を指定 'id': $p.getControl('ClassA').val(), 'done': function (data) { //Bテーブルの「分類B」にAテーブルから取得した「分類A」の値をセット $p.set($p.getControl('ClassB'), data.Response.Data[0].ClassA); }, 'fail': function (data) { console.log(data); } }); } else { //Bテーブルの「分類A」に値がセットされていない場合、Bテーブルの「分類B」に空文字をセット $p.set($p.getControl('ClassB'), ''); } } ``` ## 関連情報 <div id="ManualList"><ul><li><a href="/manual/table-management-choices-text-link">テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:リンク</a><span>2021/05/09 up</span></li> <li><a href="/manual/table-editor-choice-json">テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:フィルタ、ソート、表示フォーマット</a><span>2021/06/13 up</span></li> <li><a href="/manual/table-editor-lookup">テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:ルックアップ</a><span>2021/07/05 up</span></li></ul></article> <ul><li><a href="/manual/table-management-link-view">テーブルの管理:リンク</a><span>2021/05/22 up</span></li></ul></article> <ul><li><a href="/manual/table-management-script">テーブルの管理:スクリプト</a><span>2021/05/02 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />
このページをシェアする