何を実現したいのかを書きましょう
の続きで、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);
});