Php 将Datatables.js与(隐藏)子行一起使用会产生排序问题

Php 将Datatables.js与(隐藏)子行一起使用会产生排序问题,php,jquery,datatables,Php,Jquery,Datatables,我试图显示过去三个财政年度中给定业务的报价 现在,我想显示每月的细分。我已经创建了一个展开图标,它按月显示每个业务下面隐藏的子行 datatable是通过直接在已填充的表上调用datatable插件生成的。到目前为止,我已经正确地构建了表,包括公司行及其子行(默认情况下隐藏)。单击展开图标可正确显示子行 现在的问题是,为了使相应的子行位于其各自的父行下方(以及与其相应的父行),我必须添加一个隐藏列,并使用datatable orderFixed选项对其进行排序 var quoteCompareT

我试图显示过去三个财政年度中给定业务的报价

现在,我想显示每月的细分。我已经创建了一个展开图标,它按月显示每个业务下面隐藏的子行

datatable是通过直接在已填充的表上调用datatable插件生成的。到目前为止,我已经正确地构建了表,包括公司行及其子行(默认情况下隐藏)。单击展开图标可正确显示子行

现在的问题是,为了使相应的子行位于其各自的父行下方(以及与其相应的父行),我必须添加一个隐藏列,并使用datatable orderFixed选项对其进行排序

var quoteCompareTable = $("#iQCDatatable").DataTable({ 
    paging    : false, 
    info      : false,
    ordering  : true,
    orderFixed: [5, 'asc'],
    columnDefs: [{ targets: -1, visible: false}],
    initComplete: function (oSettings) {
        $("#iQCDatatable tr.child-row").hide();
    },
 });
表的一般结构为(html):


单位
2019
2020
2021
全部的
+美国
300275875美国
第1755560USA1季度
第28080741季度
第3989087USA1季度
第4477554USA1季度
这有一个问题:排序在列上有效,但只在子行中有效。父行不会被排序(本例仅显示一个父行,但我的代码中有几个父行)

这是指向我正在使用的简化版本的链接: 如果尝试对列进行排序,父行将不会排序,但展开子行将显示它们已正确排序

我尝试将子行作为列中的一个单独的表,并使用Datatables的响应特性将其隐藏。但由于子表中的列与主表中的列完全相同,因此看起来非常糟糕。我还尝试使用orderFixed的pre/post排序选项,但这导致排序时布局不正确

我的问题是:有没有办法做到这一点?是否有一种完全不同的方法,我没有想到,或者我在文档中遗漏了什么?我能想到的实现我想要的目标的唯一方法是,让expand图标只是一个按月显示数据的模式的链接,而不是在主表中显示数据并完全绕过datatables问题

<table class="table table-striped table-inverse" id="iQCDatatable">
  <thead>
    <tr>
      <th>Company</th>
      <th>2019</th>
      <th>2020</th>
      <th>2021</th>
      <th>Total</th>
      <th></th>
    </tr>
 </thead>
 <tbody>
  <tr class='parent-row'>
    <td><span class='show-child' data-colid='1'>+</span> USA</td>
    <td>300</td><td>300</td><td>275</td><td>875</td><td>USA</td>
  </tr>
  <tr class='child-row' data-colid='1'>
    <td>Quarter 1</td><td>75</td><td>55</td><td>60</td><td></td><td>USA1</td>
  </tr>
  <tr class='child-row' data-colid='1'>
    <td>Quarter 2</td><td>80</td><td>80</td><td>74</td><td></td><td>USA1</td>
  </tr>
  <tr class='child-row' data-colid='1'>
    <td>Quarter 3</td><td>98</td><td>90</td><td>87</td><td></td><td>USA1</td>
  </tr>
  <tr class='child-row' data-colid='1'>
    <td>Quarter 4</td><td>47</td><td>75</td><td>54</td><td></td><td>USA1</td>
  </tr>
 </tbody>
</table>