テーブルに値をコピーする際のテーブル操作について

お世話になっております。

タイトルの件について、下記のページを参考に

https://developer.kintone.io/hc/en-us/articles/115005450087

フィールドをテーブルへコピーするように設定したのですが、

新規登録時や、テーブルに何も値が入っていない場合に【Add to table】ボタンを押すと

2行目に値がコピーされるのですが、1行目から追加(コピー)させる方法はありますでしょうか。

ご教授いただいたければ幸いでございます。

お手数でございますが、ご確認お願い致します。

Nao様

お世話になっております。

cstapの江田です。

以下のようなコードで実装できるかと思います。

サンプルにあったフィールドでしか試していないので、リッチエディターなど複雑なフィールドをサブテーブル内に含む場合は「isEmptyRow()」を調整してみてください。

// Add a row with data into a table with a button click (function(){'use strict'; varSPACE='buttonspace';// Element ID of Blank Space fieldvarTEXT='textfield';// Field code of text fieldvarNUMBER='numberfield';// Field code of number fieldvarCHECKBOX='checkboxfield';// Field code of checkbox field varTABLE='mytable';// Field code of table fieldvarTABLE\_TEXT='text\_in\_table';// Field code of text field in a tablevarTABLE\_NUMBER='number\_in\_table';// Field code of number field a tablevarTABLE\_CHECKBOX='checkbox\_in\_table';// Field code of checkbox field in a table varevents=['app.record.create.show','app.record.edit.show']; functionisEmptyRow(tableRow){varresult=true;for(varkeyintableRow){if(typeoftableRow[key].value==='object'){if(tableRow[key].value.length!==0){result=false;}}elseif(typeoftableRow[key].value!=='undefined'){result=false;}}returnresult;}kintone.events.on(events,function(event){varrecord=event.record;varelSpace=kintone.app.record.getSpaceElement(SPACE);varelButton=document.createElement('button');elButton.textContent='Add to table';elSpace.appendChild(elButton); elSpace.addEventListener('click',function(){varrecordData=kintone.app.record.get();varrec=recordData.record;if(isEmptyRow(rec[TABLE].value[0].value)){rec[TABLE].value[0].value[TABLE\_TEXT].value=rec[TEXT].value;rec[TABLE].value[0].value[TABLE\_NUMBER].value=rec[NUMBER].value;rec[TABLE].value[0].value[TABLE\_CHECKBOX].value=rec[CHECKBOX].value;}else{// add row with data into tablevaraddData={};addData.value={};addData.value[TABLE\_TEXT]={"type":"SINGLE\_LINE\_TEXT","value":rec[TEXT].value};addData.value[TABLE\_NUMBER]={"type":"NUMBER","value":rec[NUMBER].value};addData.value[TABLE\_CHECKBOX]={"type":"CHECK\_BOX","value":rec[CHECKBOX].value};rec[TABLE].value.push(addData);} // delete values after inserting into tablerec[TEXT].value="";rec[NUMBER].value="";rec[CHECKBOX].value=[]; kintone.app.record.set(recordData);});});}());

江田篤史 様

ご返信ありがとうございます。

ご教授いただいたように設定し、テーブル1行目のコピーが出来ました。

また「リッチエディターなど複雑なフィールド・・・」のご案内もありがとうございます。

今後ともよろしくお願いいたします。

サブテーブルのコピーを本ページを参考に作成しているのですが、
リッチエディターのコピーが成功しないため、こちらにて質問させてください。

コピーを行うと、サブテーブルの一番下の行のみ"リッチエディター"フィールドが空欄となってしまいます。
同行の、"日付"や"文字列(複数行)"フィールドはコピーできているのですが、
"リッチエディター"フィールドは空欄(<div></ br></div>)となってしまい、コピーがうまくできない状態です。

「リッチエディターなど複雑なフィールドをサブテーブル内に含む場合は「isEmptyRow()」を調整」とは、どのように行うと良いでしょうか?

尚、データは上記コードと同様に
kintone.app.record.get();
で、取得して
kintone.app.record.set(recordData);
で値をセットしています。

恐れ入りますが何か良い案があればご教授頂きたくよろしくお願いいたします。

お世話になっております。

上記質問ですが、別ページにて
https://developer.cybozu.io/hc/ja/community/posts/360001341706-)
改めて新規で質問を行いましたので、
本質問はCLOSEさせてください。

有難うございました。