簡體   English   中英

如何在 DataTable().row.add() 之后繼續自定義 dataTable?

[英]How to continue custom dataTable after DataTable().row.add()?

當我執行 DataTable().row.add() 時,我已經初始化了一次 dataTable,但我仍然需要對該數據表執行一些額外的方法。 例如,我需要這樣做 api 方法: $('#example').DataTable( { dom: 'Bfrtip', buttons: [ 'colvis' ] } ); 但是有一個警報DataTables 警告:table id=dataTable - 無法為我的數據表中的每一行重新初始化 DataTable ,這意味着如果我有 10 行,此警報將顯示 10 次,盡管在我跳過所有這些警報之后,一切看起來那么很好,控制台中也沒有錯誤這是我的代碼:

在下面的一些評論之后,我更新了我的代碼

            var myTable = $('#dataTable').DataTable({ dom: 'Bfrtip', buttons: ['colvis'] });
            var row = $('#dataTable tbody tr:first');
            myTable.row.add([
                '<img width="70px" height="100px" src="' + childData.poster + '">',
                '<p style="height:100px;overflow:auto;text-align:center">' + childData.title + '</p>',
                '<a style="text-align:center" href="javascript: void(0)" onclick="showModalListChapter(' + "'" + childKey + "'" + "," + "'" + childData.title + "'" + ')">' + totalChapters + '</a>',
                '<p style="height:100px;overflow:auto;text-align:center">' + childData.author + '</p>',
                '<p style="width:100px;height:100px;overflow:auto;text-align:center">' + childData.category + '</p>',
                '<p style="text-align:center">' + childData.state + '</p>',
                '<p style="width:350px;height:100px;overflow:auto;text-align:center">' + childData.description + '</p>',
                '<p style="text-align:center">' + childData.totalViews + '</p>',
                '<p style="text-align:center">' + childData.totalLikes + '</p>',
                '<button class="btn btn-danger" style="margin-bottom:20px" onclick="deleteManga(' + "'" + childKey + "'" + ')">xóa</button>' +
                '<button class="btn btn-warning" onclick="showModalUpdateManga(' + "'" + childKey + "'" + ')">sửa</button>',
                '<p style="text-align:center">' + childData.createdDate + '</p>',
                '<p style="text-align:center">' + childData.updatedDate + '</p>',
            ]).draw(false);

同樣的問題仍然發生

最有可能(很難說 100%,因為您沒有給我們您的代碼段),您需要將數據表初始化為一個變量,然后在該變量中使用 object 來添加您的行。 所以:

$(document).ready(function() {
    var myTable = $('#example').DataTable( { dom: 'Bfrtip', buttons: [ 'colvis' ] } ); 
    //and then, under some condition, and likely inside a function:
     myTable.row.add(data);
} );

row.add()上的DataTables 文檔有更多示例。

更新

這是一個小提琴演示,它顯示了初始化數據表然后添加一行的基礎知識: https://jsfiddle.net/zephyr_hex/enkmhb2t/13/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM