kintoneUIComponent.createTableCell()で動的なdataFieldNameを設定する方法について

kintoneUIComponentを使ってテーブルを作成しています。

テーブルのセル数は条件によって動的に変わるため以下のようにしてセルを追加しています。

for(var i = 0; i < xxxx.length; i++){

        var yyyyyy = {};

        yyyyyy .header = xxxx[i];

        yyyyyy .cell = function() {kintoneUIComponent.createTableCell(‘text’,‘membser’)};

        tableColmns.push(yyyyyy );

}

 var initData = [

           {   abc:{text:“--------”},

               xyz:{text:“-------”},

               member_0:{text:‘10’}, //追加セル

               member_1:{text:‘20’}, //追加セルが2つとなるパターンで実施しているため2件追加

            }

  ];

   const directTable = new kintoneUIComponent.Table({

                    data: initData,

                    columns: tableColmns,

                    actionButtonsShown:false

    });
    kintone.app.record.getSpaceElement(‘directTable’).appendChild(directTable.render());
 

 

 

上記の方法で一応動的にセルを増やすことはできました。

しかし、dataFieldNameが固定されているので、テーブルデータを設定した場合、すべての

セルに同じ値が設定されてしまいます。

そこでdataFieldNameを動的に設定しようとしましたが、以下の方法ではdataFeildNameを動的に設定することができませんでした。

 

(1) yyyyyy .cell = function() {kintoneUIComponent.createTableCell(‘text’,‘member_’+i)};

設定直後にconsole.logにてyyyyyy .cellを参照するとdataFieldNameの部分は’member_'+iのままとなっていました。

(2)同様に

var memberid = ‘member_’+i;

yyyyyy .cell = function() {kintoneUIComponent.createTableCell(‘text’,memberid )};

とした場合も(1)と同様 dataFieldNameの部分はmemberidとなっていました

これで実行した場合エラーにはなりませんでしたが、テーブルにセットされた値は

member_0/member_1のdataFieldNameの両方にinitDataで設定したmember_1のvalueである

20が設定されていました。

※dataFieldNameが実際どういった値に展開されたのかは不明ですがmember_1の値が追加

されたセルに設定されているのは??です

 

(3)memberidに対して推奨されないのはわかっていますが、eval()をやってみましたが、
yyyyyy .cell = function() {kintoneUIComponent.createTableCell(‘text’,eval(memberid ))};

テーブルのrender()実行時に以下のエラーとなりました。

「Uncaught ReferenceError: member_1 is not defined at eval (eval at member.cell (download.do?..)

(4)kintoneUIComponent.createTableCell()の部分を文字列として設定し、この部分をeval()

(5)function() {return kintoneUIComponent.createTableCell()}を文字列設定し、eval()

などやってみましたが動的にdataFieldNameを設定することができませんでした。

 

dataFieldNameの値を動的に設定する方法はないでしょうか?

よろしくお願いします