首页 > 解决方案 > Jquery Datatable 按钮在具有动态列的表中的空值的情况下不起作用

问题描述

我正在尝试使用数据表选项显示 excel 按钮。按钮正在显示,但是当我向表中添加动态列时,由于列中有一些空值,按钮不起作用。实际上表列标题的数量是固定的,但列值不同(它们的数量不是固定的)。请找到以下随附的屏幕截图以供参考。

https://i.stack.imgur.com/7gEoV.png

下面是我添加动态列时的代码:

    <thead>

        <tr>
            <th>Serial Number</th>
            <th>Company Name</th>
            <th>Sector</th>
            <th>Main Product</th>
            <th>City</th>
            <th>Province</th>
            <th>Owner Name</th>
            <th>Artisan 1</th> 
            <th>Trade</th> 
            <th>Artisan 2</th> 
            <th>Trade</th>                          

        </tr>
    </thead>

////////// 用于检索列值的 PHP 代码 ///////////

$data .= "<tr>";
    $extra = " ";
    $sqlArtisan = "select artisan_name,trade from sme_artisans where sme_id = $id order by sme_id limit 2";
    $retArtisan = pg_query($db, $sqlArtisan);
    $rows = pg_num_rows($retArtisan);
    if($rows > 0){
        $data .= "<td>".$serialNumber."</td><td>".$companyName."</td><td>".$industryName."</td><td>".$mainProduct."</td>
        <td>".$cityName."</td><td>".$province."</td>
        <td>".$ownerName."</td>";

        while($rowArtisan = pg_fetch_row($retArtisan)){
            if($rowArtisan[0] == null){
                $data .= "<td>".$extra."</td><td>".$extra."</td>";
            }else{
                $data .= "<td>".$rowArtisan[0]."</td><td>".$rowArtisan[1]."</td>"; }
        }       
    } 
    $data .= "</tr>";

//////////// 显示按钮的脚本 ///////////

<script>
    $(document).ready(function() {
    $('#example').DataTable( {
        "paging": false,
        dom: 'B',
        buttons: [
            'copy', 'csv', 'excel'
        ]
    } );
} );
</script>

请查看这些详细信息并提出可能的解决方案。非常感谢。

标签: jquerydatatablesdatatable-buttons

解决方案


推荐阅读