kintoneでスペースフィールドに追加するテーブル要素をkintoneライクにする際に、テーブルの行数(データ数)をデータ数に応じて表示させる方法

何を実現したいのかを書きましょう

の続きで、JSでテーブルを作成し、値を設定したいです。
テーブルに表示するデータは、APIで取得し、
詳細ページごとに、件数が違います。

データ数に合わせて、

の以下の部分を設定する方法を教えていただきたいです。

  data: [
    {
      name: 'john',
      age: 32,
      address: 'New York No. 1 Lake Park'
    },
    {
      name: 'steven',
      age: 22,
      address: 'New York No. 2 Lake Park'
    }
  ],

テーブルに表示するデータの中身を以下のようにAPIで取得して
配列にセットしています。

Deal_Name =  ['契約1', '契約2', '契約3'];
Owner = ['Aさん', 'Bさん', 'Cさん'];
Closing_date = ['2024-08-31', '2024-05-31', '2023-05-31']; 

テーブル表示を件数に応じて、データをセットさせるにはどのようにJSを記述したら良いでしょうか?

以下のようにコードを書いてみました。
TableDealInfo に 上記の data の中身を文字列でセットしてみましたが、
そのデータをベタ書きで設定すれば、表示されるのですが、
文字列ではうまくいきませんでした。(テーブルの中身が表示されない)
プログラミングがあまり得意ではないので、
うまい書き方があれば教えていただきたいです。

 // テーブルに取得した値を表示
const Kuc = Kucs['1.17.1'];
// 要素ID「Deals」のスペースに表示する
const space = kintone.app.record.getSpaceElement('Deals');

let TableDealInfo = "";
            for(let i=0; i < Deal_Name.length; i++) {
               TableDealInfo = TableDealInfo +"{ type:'" + Deal_Name[i] + "', owner: '" + Owner[i] + "', closing_date: '" + Closing_Date[i] + "'}";
               if(i < Deal_Name.length - 1){
                 TableDealInfo = TableDealInfo + ",";
               }
            }


const table = new Kuc.Table({
                label: 'APIで取得した商談情報',
                columns: [
                  {
                    title:'商談種類',
                    field: 'type'
                  },
                  {
                    title: '商談担当者',
                    field: 'owner'
                  },
                  {
                    title: '完了予定日',
                    field: 'closing_date'
                  }   
                ],
                data: [
                  TableDealInfo
                ],
                className: 'options-class',
                id: 'options-id',
                actionButton: true,
                headerVisible: true,
                visible: true
              });
              
              space.appendChild(table);
              
              table.addEventListener('change', event => {
                console.log(event);
              });
            

のんさん、こんちには!

のんさんが、会社で使うアプリを作成されているのか、
個人で使われるアプリを作成されているのかで、異なるのですが、
前者の場合、
こちらで書き方を教えてもらって、
「あまりよくわからないですが、表示できました。」は
kintone自体の動作を壊してしまう可能性もあるため、お勧めできません。

jsカスタマイズをされるのであれば、
プログラムについてもある程度理解されて、書かれるのが良いかと思います。

その上でになりますが、おそらく以下の内容がいまいち理解できていないのかなと思いますので、最短経路だと、以下の3つについて上から順番にGoogle等で調べて理解を試みるのが良いかと思います。
「js Array」
「js Object」
「js オブジェクトの配列 操作」

上記調べてみて、理解が難しいと感じましたら、
今はプログラム(JS)についてほぼ無料で学習できるサイトが多くありますので、そちらで学習されるのも良いかもしれません。

頑張ってください。

「いいね!」 2

田中様

教えていただきありがとうございました。
js オブジェクト配列について、調べてみて、オブジェクト配列の操作の理解ができ、簡潔なコードにて、動作するようになりました。
ありがとうございました。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。