合并数据表中的列
2018-03-29
231
我正在尝试创建数据表以使用导出选项。我知道如果标签不正确,表格将无法工作。我正在尝试实现一个表格,其中列出食谱成分、其数量和方法。由于我只希望方法显示一次,我想合并最后一列并将其放在中间 - 这就是问题发生的地方。我创建了一个 if 语句来检查方法是否已被打印。一切都按我希望的方式显示,使用以下代码,但我不知道如何正确关闭 td 标签....
我收到的错误是:
Uncaught TypeError: Cannot set property '_DT_CellIndex' of undefined
<table id="table_id" class="display" width="50">
<thead>
<tr>
<th>
Quantity
</th>
<th>
Ingredient
</th>
<th>
Method
</th>
</tr>
</thead>
<tbody>
<?php
$ifExists = false;
while ($dbRow2 = $dbQuery3->fetch(PDO::FETCH_ASSOC)) {
$ingredients=$dbRow2["ingredient"];
$quantity=$dbRow2["quantity"];
echo '<tr>';
echo '<td>';
echo "$quantity";
echo '</td>';
echo '<td>';
echo "$ingredients";
echo '</td>';
$count=$dbQuery3->rowCount();
if($ifExists == false){
echo "<td rowspan='$count'>";
echo "$method";
echo '</td>';
$ifExists = true;
echo '</tr>';
}
else {
echo '</td>';
echo '</tr>';
}
}
2个回答
兄弟,错误很简单
想想如果你的
else
部分被执行,那么它会尝试关闭没有打开的
</td>
试试这个
else {
// echo '</td>';
echo '</tr>';
}
Alvis Vadaliya
2018-03-29
我认为 DataTables 目前不支持在表体内部实现行跨度(仅在标题中)。但是,有些插件可用于将单元格组合在一起以充当行跨度 - 尝试使用 rowsGroup 插件( https://github.com/ashl1/datatables-rowsgroup )。
在 DataTable 调用中使用此插件,您可以执行以下操作:
var table = $('#table_id').DataTable({'rowsGroup': [2]});
让我知道您的进展如何!
Matthew Heath
2018-03-29