制表符-如何汇总组标题中的其他列数据

时间:2019-04-17 13:05:19

标签: tabulator

我从JSON数据创建了一个Tabulator表,该表使用Tabulator中的groupBy选项按字段列之一进行分组。我需要汇总组标题中的其他数据,这些细节的详细信息未在表中显示为列(例如:表中的列中未显示卷ID字段,但是我需要以将组中每一行的所有纸卷ID连接起来,并在组标题中显示摘要。我已经能够使用一个函数来生成不同的纸卷ID列表,但是我不知道如何为每个组重置该列表。

var batchJobTarget = [];
          var table = new Tabulator('#productionPlan-table', {
               data: tabledata,
               layout: 'fitColumns',
               height: 375,
               tooltips: true,
               responsiveLayout: 'hide',
               pagination:'local',
               paginationSize:8,
               groupBy: function(data){
                    Object.keys(data).forEach(function(key) {
                         if (key == 'outputRollId') {
                              console.log(data[key]);
                         }
                         if (key == 'jobTarget') {
                              batchJobTarget.push(data[key]);
                         }
                    });
                    return data.outputRollId;
               },
               groupHeader:
                    function(value,count,data,group) {
                         return 'Output Roll ID: ' + value + '   Roll Targets: ' + findFieldDistinct(batchJobTarget);
                    },
               columns: [
                    {title: 'PI #', field: 'piSeq'},
                    {title: 'Job ID', field: 'jobId'},
                    {title: 'Job ARtwork ID', field: 'jobArtworkId'},
                    {title: 'Job Name', field: 'jobName'},
                    {title: 'Length (m)', field: 'jobLength'},
                    {title: 'Job Spec', field: 'jobSpec'},
                    {title: 'Job Artwork'}
               ]
          });

          function findFieldDistinct(values, data, calcParms) {
               let b = [];
               let len = values.length;
               for (let i = 0; i < len; i++) {
                    if(b.indexOf(values[i]) === -1) {
                         b.push(values[i]);
                    }
               }
               return b.join('; ');
          }

我希望得到如下结果:

PI#职位ID作品ID
输出ID:123456卷ID:Corr B; Corr C <---组头
1 1234 4567
2 5678 5432
输出ID:345232卷ID:Corr C <---组头
1 8765 9876

在组标题中显示的不同的纸卷ID应与分组的输出ID相关联。

0 个答案:

没有答案