在一组行之后显示分隔线,而不是 DataTable 中的每一行

Posted

技术标签:

【中文标题】在一组行之后显示分隔线,而不是 DataTable 中的每一行【英文标题】:Display dividing line after a group of rows not every row in a DataTable 【发布时间】:2021-10-02 05:57:30 【问题描述】:

在我的dataTable 中,我用电话号码填充它,但这些号码可能会被复制,因为它们可能有不同的分机(例如),所以我不想在每条线上显示row 分隔线我想知道是否可以在带有大量rows 的数字之后显示?

下面是一个包含假数字的示例。

注意:仅当电话号码不匹配任何其他列时

【问题讨论】:

查看手册,datatables.net/examples/advanced_init/row_grouping.html 您可以创建“假”行跨度:example。这与您要求的效果相似(但不相同)。 【参考方案1】:

是的。您可以使用位于here 的rowGroup 扩展。

由于没有提供代码,我假设您的电话号码数据只是称为“号码”。您可以在 DataTable JS 代码中执行以下操作。

       rowGroup: 
            dataSrc: [
                'Number'
            ],
            startRender: function(rows, group, level) 
                var all;
                if (level === 0) 
                    top = group;
                    all = group;
                 else if (level === 1) 
                    parent = top + group;
                    all = parent;
                    if (!collapsedGroups[top]) 
                        return;
                    
                 else 
                    if (!collapsedGroups[parent]) 
                        return;
                    
                    all = top + parent + group;
                
                var collapsed = !collapsedGroups[all];

                rows.nodes().each(function(r) 
                    r.style.display = collapsed ? 'none' : '';
                );
              
                return $('<tr/>')
                    .append('<td colspan="12" style="text-align: left;"">' + group + " (" + rows.count() + ")" + "</td>")
                    .attr('data-name', all)
                    .toggleClass('collapsed', collapsed);
            ,
        ,

【讨论】:

以上是关于在一组行之后显示分隔线,而不是 DataTable 中的每一行的主要内容,如果未能解决你的问题,请参考以下文章

如何相对于 spark 中的 col 值在一组行上设置增量 id

注释掉 shell 脚本中的一组行

如何确定一个值是不是在使用 Dplyr 的一组行中出现最多? [复制]

如何在熊猫中将一组行混在一起(行具有唯一的ID)

ExpandableListView 中的组和子分隔符

如何仅在该特定组内按结果查找组中未排序的一组行?