ASP.NET MVC , Datatables custom paging
Tuesday, October 3, 2017 Category : ASP.NET MVC, Jquery 1
So i implement custom paging and searching using jqery Bootpag pagination
https://codepen.io/SitePoint/pen/jBWOMX
HTML
<div class="col-md-4">
<input type="text" class="form-control" style="float:left;"
placeholder="Search Style size,Barcode,Product" id="myInputTextField">
</div>
<div class="col-md-12" style="margin-top: -10px;">
<div class="table-responsive" style="margin-top: 0px;">
<table id="dlWarehouseStock" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Barcode</th>
<th>Product</th>
<th>BrandType</th>
<th>Style</th>
<th>SupName</th>
<th>CPU</th>
<th>CS Balance</th>
<th>Options</th>
</tr>
</thead>
</table>
</div>
</div>
JQeruy
$(document).ready(function () { $('#pagination-here').on("page", function (event, num) { //show / hide content or pull via ajax etc $("#content").html("Page " + num); LoadCentralStockAll("", num, $('#myInputTextField').val()); }); $("#myInputTextField").keypress(function (e) { if (e.keyCode == 13) { if ($('#myInputTextField').val().length == 0) { GetTotalNumberOfStyleSize($('#myInputTextField').val()); LoadCentralStockAll("", 1, ""); } else { debugger; GetTotalNumberOfStyleSize($('#myInputTextField').val()); LoadCentralStockAll("", 1, $('#myInputTextField').val()); } } }); }); function LoadCentralStockAll(parameter, pageNumber, searchText) { if ($.fn.dataTable.isDataTable('#dlWarehouseStock')) { var tables = $('#dlWarehouseStock').DataTable(); tables.destroy(); } $('#dlWarehouseStock').dataTable({ "processing": true, 'paging': false, "bLengthChange": false, "info": false, //"ajax": url + "Process/GetCentralStockByType?Type=" + parameter, "ajax": url + "Setup/GetAllstyleSizeBySupIDWithPagination?pageNumber=" + pageNumber + "&searchText=" + searchText + "&stockType=NonZero", "columns": [ { "data": "Barcode" }, { "data": "PrdName" }, { "data": "BTName" }, { "data": "SSName" }, { "data": "SupName" }, { "data": "CPU" }, { "data": "BalQty" }, { "mData": null, "bSortable": false, "mRender": function (data, type, full) { return ''; } } ] }); } function GetTotalNumberOfStyleSize(searchText) { $.ajax({ url: url + 'Setup/GetTotalNumberOfStyleSize', data: { 'stockType': 'All', 'searchText': searchText }, success: function (data) { console.log("Total no."); console.log(data.data[0].TotalNoOfBarcode); var paginationSize = parseInt(data.data[0].TotalNoOfBarcode) / 10; if (paginationSize < 1) { paginationSize = 1; } if (data.data.length) { $('#pagination-here').bootpag({ total: Math.round(paginationSize), page: 1, maxVisible: 5, leaps: true, firstLastUse: true, first: '←', last: '→', wrapClass: 'pagination', activeClass: 'active', disabledClass: 'disabled', nextClass: 'next', prevClass: 'prev', lastClass: 'last', firstClass: 'first' }); } else { alert("Invalid !"); } }, error: function () { alert('An error occured try again later'); } }); }