Кнопки Jquery Datatable не работают в случае нулевых значений в таблице с динамическими столбцами - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь отобразить кнопку 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>

Пожалуйста, ознакомьтесь с этими деталями и предложите возможное решение.Большое спасибо.

...