一覧画面に合計金額を表示させたい。

質問失礼します。

kintoneの一覧画面に表示される「想定金額」の列の合計を上の空白スペースに表示させたいのですが、上手くいきません ><

現時点では何も表示がされないのですが、どこが間違っているか教えていただきたいです。

 

(function() {
“use strict”;
kintone.events.on(‘app.record.index.show’, function(event) {

if(!event.size){
return;
}

var Totalprice = 0;
var records = event.records; //全ての行を取得

// テーブル「想定金額」の値を合計する
for(var i = 0; i < records.length; i++){
var price = records[i].value[‘想定金額’].value;

Totalprice += price;
}

// 合計金額を上の空白スペースに表示する
var myHeaderSpace = kintone.app.getHeaderSpaceElement();
var myTotalprice = document.createElement(‘div’);
myTotalprice.innerText = ‘想定合計金額:’ + Totalprice + ‘円’;

myHeaderSpace.appendChild(myTotalprice);

});
})();

mayuさん

ブラウザのコンソールには何も出てないでしょうか?

参考)動かない?そんな時はデバッグをしてみよう!入門編
https://developer.cybozu.io/hc/ja/articles/207613916

 

eventオブジェクトからの値のとり方がマズいのかなと思ったのですが、

var price = records[i].value['想定金額'].value;

var price = records[i]['想定金額'].value;

にしたらどうなりますでしょうか?

asagaさん

 

ありがとうございます。できました !!

ブラウザのコンソールに「'想定金額’が取得できていない」といったようなメッセージが出ていたのですが改善策が分かりませんでした (^^;

ちなみに質問なのですが、この上手く動かなかった書き方は https://developer.cybozu.io/hc/ja/articles/202422244を参考にしたのですが

この書き方はテーブルの中の値を取得する時にしか使えない書き方なのでしょうか?

 

mayuさん

記載頂いたリンクの書き方は、テーブルの場合ですねー。

テーブル内のフィールドとテーブル外のフィールドでは、eventオブジェクトから取得できるデータの構造が違うので、書き方が変わります。

eventオブジェクトをコンソールに出力してみると、構造の違いが分かると思います。

asagaさん

なるほど!分かりました。一度試してみたいと思います!