如何将嵌套表添加到datatable?

我需要将一个嵌套表添加到jquery数据表的每一行(使用旧数据表)。 因此,我尝试使用datatables.net中的示例来处理子行并将其修改为我的需要,因为我需要始终显示子行,而不是单击父行。这是我用来构建的代码我的内表然后显示它..

function buildInnerTable(){ var keys = Object.keys(reportApp.gridData), len = keys.length, j = 0, prop, value; while (j < len) { prop = keys[j]; value = reportApp.gridData[prop]; detLen = value.detail.length; var rowVals = []; for(var i = 0; i < detLen; i++){ tmpRow = ""+value.detail[i].invtid+""+ ""+value.detail[i].bf+""+ ""+value.detail[i].qtyship+""+ ""+value.detail[i].ordqty+""+ ""+value.detail[i].bf+""+ ""+value.detail[i].exttreating+""+ ""+value.detail[i].extpriceinvc+""+ ""+value.detail[i].misc+""+ ""+value.detail[i].extother+""+ ""+value.detail[i].calcext+""; rowVals.push(tmpRow); } setTableRow(rowVals , j); j += 1; } function setTableRow(rowVals , ndx){ $("#gridTbl > tbody > tr:eq("+ ndx+ ")").after(""+ ""+ ""+ rowVals);

但是,我没有得到我需要得到的东西。 它看起来像是数据表添加一个新行,然后在新行的第一个单元格内设置新表。 但是,当我查看源代码时,这根本不是发生的事情。 它关闭前一行,然后插入新表…我附加了一个截图。 我需要的是细节显示在主项目行下面并以相同的方式对齐。 任何帮助我错了将不胜感激。 在此处输入图像描述

好的…终于想通了。 为了使视图正常显示,我不得不在数据表中添加一个新行,然后在该行的一侧添加我的新表。 但是,这会导致表格出现索引问题。 所以,每次添加新行之前,我都必须检查索引。 我发布工作代码,希望它能帮助别人。

  function buildInnerTable(){ var keys = Object.keys(reportApp.gridData), len = keys.length, j = 0, prop, value; while (j < len) { prop = keys[j]; value = reportApp.gridData[prop]; detLen = value.detail.length; var rowVals = []; //THIS NEXT LINE IS WHERE I GET MY INDEX... var ndx = ($("tr:contains("+value.invcnbr+ ")").index()); for(var i = 0; i < detLen; i++){ tmpRow = "
"+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""; rowVals.push(tmpRow); } setTableRow(rowVals,ndx); } j += 1; } } function setTableRow(rowVals,ndx){ var outerTbl = $('#gridTbl').DataTable(); var tr = $("#gridTbl > tbody > tr:eq("+ ndx+ ")"); //NOTE HOW I ADD A ROW AND THEN ADD NEW TABLE TO CELL IN THE ROW. var innerTbl = ""; tr.after(innerTbl).show(); }
InvtIDClssPiecesBilQtyBFTreatingWoodNEED NAMEOtherMiscTotal
"+value.detail[i].invtid+""+value.detail[i].bf+""+value.detail[i].qtyship+""+value.detail[i].ordqty+""+value.detail[i].bf+""+value.detail[i].exttreating+""+value.detail[i].extpriceinvc+""+value.detail[i].misc+""+value.detail[i].extother+""+value.detail[i].calcext+"
"+ ""+ ""+ rowVals + "
InvtIDClssPiecesBilQtyBFTreatingWoodNEED NAMEOtherMiscTotal