DATA TABLE EXPORTS ONLY THE FIRST ROW OF THE TABLE.
DATA TABLE EXPORTS ONLY THE FIRST ROW OF THE TABLE.
When I click the submit button, a Golang function gets data from the database and populate the HTML table.
On clicking any of the export buttons, either excel, csv or pdf. Only the first row gets exported.
I have tried everything I can. This is my first time using data-tables. I can't seem to figure out what I amm doing wrong.
Here is the code for initializing the table.
$(document).ready(function () {
$('#report').DataTable({
dom: 'Bfrtip',
buttons: ['copy', 'csv', 'excel', 'print'],
}),
$('.buttons-copy, .buttons-print, .buttons-excel, .buttons-csv').addClass(
'btn btn-primary mr-1'
);
});
Here is the html code table.
<table id="report" class="table table-hover text-nowrap">
<thead>
<tr>
<th scope="col">Machine Name</th>
<th scope="col">Transaction Time</th>
<th scope="col">Card Number</th>
<th scope="col">Reciept Number</th>
<th scope="col">Total Amount</th>
<th scope="col">Amount Paid</th>
<th scope="col">Reward Points</th>
<th scope="col">Redeemed Points</th>
<th scope="col">Cashier Name</th>
</tr>
</thead>
{{range .Reports}}
<tbody>
<tr>
<td>{{ .MachineName}}</td>
<td>{{humanDate .TransactionTime}}</td>
<td>{{.CardNumber}}</td>
<td>{{.RecieptNumber}}</td>
<td>{{.TotalTransAmount}}</td>
<td>{{.AmountPaid}}</td>
<td>{{.RewardPoints}}</td>
<td>{{.RedeemdPoints}}</td>
<td>{{.CashierName}}</td>
</tr>
</tbody>
{{end}}
</table>
range is a golang template function that loops over the array of data that is stored in the variable Reports.
This question has an accepted answers - jump to answer
Answers
Looks like each row is in their own
tbody
. The Datatables HTML requirements docs state only onetbody
is supported. Try moving thetbody
outside the loop.I suspect you will see the info will show something like this
Showing 1 to 1 of 1 entries
and sorting searching don't work as expected. Its because Datatables processes the rows in the first -tbody
only.Kevin
Thank you so much Kevin. You have been a life saver.
This worked perfectly fine.
Next time I will read the docs properly.
Only if you can find them There are lots of docs!
Kevin