DataTable.NET use server-side processing

https://datatables.net/examples/server_side/simple.html

When the data to be displayed on the page when more than 10 million transactions, you can use server-side processing. In this change entries, paging, sorting, and will regain pre-defined data through ajax go backend.

RadGridTable = $('#tbNKeywords')
.on(
'processing.dt', function ( e, settings, processing ) { // paging or sorting .etc processing or not, // processing will be true if processing finished. $('#loading_overlay').css( 'display', processing ? 'block' : 'none' ); }) .on('xhr.dt', function ( e, settings, json, xhr ) { // Ajax call back, add some code here... if (json == null || json["success"] == false) { $('#loading_overlay').css( 'display', 'none' ); } }) .on( 'draw.dt', function () { // check all rows if select-all checked if($(".select-all").is(":checked")) { CheckedAll = 1; RadGridTable.rows().select(); }
// reset select checkbox by saved selected row ids RadGridTable.rows().every( function ( rowIdx, tableLoop, rowLoop ) { if (AllSelectedRowIds.includes(this.id())) this.select(); } ); }) .on( 'page.dt', function () { if (CheckedAll == 1) return; // save selected row id when paging var selectedRowIds = RadGridTable.rows( { selected: true } ).ids(); for (i = 0; i < selectedRowIds.count(); i++) { if (!AllSelectedRowIds.includes(selectedRowIds[i])) AllSelectedRowIds.push(selectedRowIds[i]); } }) .on( 'click', 'tbody tr', function () { if (CheckedAll == 1) return false; }) .DataTable({ "columns": [ { "data": null }, { "data": "Created_Date" }, { "data": "xxxxxxxx" }, { "data": "xxxxxxxx" }, { "data": "xxxxxxxx" }, { "data": "xxxxxxx" }, { "data": "xxxxxxx" } ], columnDefs: [{ orderable: false, className: 'select-checkbox', targets: 0, data: null, defaultContent: '' }], select: { style: 'multi', selector: 'td:first-child' }, order: [[ 1, 'desc' ]], "paging": true, "searching": false, colReorder: false, fixedHeader: true, "processing": true, "serverSide": true, rowId: 'KeywordId', "ajax": { "url": "/common/service/xxxxxxxxHandler.ashx", "type": "POST", "data": function (d) { d.action = "xxxxxxxxx"; d.data = JSON.stringify(xxxxxxx); d.Id = <%=Id%>; } } });

 

Some portions of the text on the page define dataTable

https://datatables.net/reference/option/language

For example: do not want to appear "(filtered from x total entries)" section in the footer

$(document).ready(function() {
    $('#example').DataTable( {
        "language": {                
            "infoFiltered": ""
        }
    } );
} );

Guess you like

Origin www.cnblogs.com/sipher/p/10984285.html