0

我有表并在其上制作数据表,我在其上添加了下载 csv 文件并且它正在工作。现在,我需要上传相同的文件或将其存储在某个文件夹路径中。

这是我的数据表代码

$('#account_details').DataTable({
    dom: 'lBfrtip',
    lengthMenu: [
        [ 10, 25, 50, 100, 250, 500 -1 ],
        [ '10', '25', '50', '100', '250', '500' ]
    ],
    pageLength: 10,
    buttons: [
        { 
            extend: 'excelHtml5',
            text:'', 
            className: 'excelbtn',
            filename: 'Account_details', 
            title: 'Account Details', 
            titleAttr: 'Excel', 
            exportOptions: { columns: [ 0, 1, 2, 3, 4 ] }
        }, { 
            extend: 'pdfHtml5', 
            text:'',
            className: 'pdfbtn',
            filename: 'Account_details', 
            title: 'Account Details', 
            titleAttr: 'PDF', 
            exportOptions: { columns: [ 0, 1, 2, 3, 4 ] }
        }, { 
            extend: 'print',
            text:'',
            className: 'print',
            filename: 'Account_details', 
            title: 'Account Details', 
            titleAttr: 'Print', 
            exportOptions: { columns: [ 0, 1, 2, 3, 4 ] }
        }, { 
            extend: 'csv', 
            text:'',
            className: 'csv',
            filename: 'Account_details', 
            title: 'Account Details', 
            titleAttr: 'Reports', 
            exportOptions: { columns: [ 0, 1, 2, 3, 4 ] }
        }
    ],
    responsive: true,
    colReorder: true,
    stateSave:  true,
    stateSaveCallback: function(settings, data) {
        console.log(data);
        update_customize_table_settings('account_details','accounts');
    }
});

我的问题是:需要使用 datatable 从前端搜索一些记录并将结果存储在 db 的另一个表中。我将结果存储在 csv 文件中并下载了它。我只是从该文件中提取数据并将其存储在 db 的另一个表中并显示它。

请任何人都可以帮助我吗?

4

1 回答 1

1
  1. 添加用户在搜索后单击的按钮。

                    initComplete: function () {
                        $("div.toolbar").html(
                            '<a href="#" class="btn  btn-info btn-secondary" style="margin: 5px" id="insertbtn" onclick="InsertRows()">Insert</a>');
                    }
    
  2. 插入行函数

           function InsertRows() {
    
                var table = $("#dtexample").DataTable();
                var data = table.rows().data();
                data.each(function (value, index) {
                    console.log(`For index ${index}, data value is ${value}`);
                    console.dir(value);
                    //call AJAX below to insert each row to table
                });
    
            }
    

    如果您插入少量行,这将产生 n 个插入 AJAX 请求,这很好。但是如果搜索到的行数更多,那么我建议将数据添加到数组中,然后将数组 POST 到 Webservice 以将其插入表中。

于 2019-03-10T17:01:53.397 回答