UNPKG

jqwidgets-framework

Version:

jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.

142 lines (130 loc) 7.21 kB
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'>jqxDataTable - Data Paging API</title> <meta name="description" content="This sample demonstrates how to implement Data Paging with JavaScript DataTable"> <link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" /> <script type="text/javascript" src="../../../scripts/jquery-1.12.4.min.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdata.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxbuttons.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxscrollbar.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxlistbox.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdropdownlist.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdatatable.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxpanel.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxradiobutton.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxinput.js"></script> <script type="text/javascript" src="../../sampledata/generatedata.js"></script> <script type="text/javascript" src="../../../scripts/demos.js"></script> <script type="text/javascript"> $(document).ready(function () { var source = { localData: generatedata(200), dataType: "array", datafields: [ { name: 'firstname', type: 'string' }, { name: 'lastname', type: 'string' }, { name: 'productname', type: 'string' }, { name: 'quantity', type: 'number' }, { name: 'price', type: 'number' }, { name: 'total', type: 'number' } ] }; var dataAdapter = new $.jqx.dataAdapter(source); $("#table").jqxDataTable( { width: getWidth("dataTable"), source: dataAdapter, pagerPosition: 'both', pageable: true, altRows: true, columns: [ { text: 'Name', dataField: 'firstname', width: 200 }, { text: 'Last Name', dataField: 'lastname', width: 200 }, { text: 'Product', editable: false, dataField: 'productname', width: 180 }, { text: 'Quantity', dataField: 'quantity', width: 80, cellsalign: 'right' }, { text: 'Unit Price', dataField: 'price', width: 80, cellsalign: 'right', cellsFormat: 'c2' }, { text: 'Total', dataField: 'total', cellsalign: 'right', cellsFormat: 'c2' } ] }); // Settings $("#pagerModeDropDownList").jqxDropDownList({ height: 25, width: 120, selectedIndex: 0, source: ["default", "advanced"], autoDropDownHeight: true }); $("#pagerModeDropDownList").on('select', function (event) { if (event.args.index == 0) { $("#table").jqxDataTable({ pagerMode: "default" }); } else { $("#table").jqxDataTable({ pagerMode: "advanced" }); } }); $("#pagerPositionDropDownList").jqxDropDownList({ height: 25, width: 120, selectedIndex: 2, source: ["top", "bottom", "both"], autoDropDownHeight: true }); $("#pagerPositionDropDownList").on('select', function (event) { if (event.args.index == 0) { $("#table").jqxDataTable({ pagerPosition: "top" }); } else if (event.args.index == 1) { $("#table").jqxDataTable({ pagerPosition: "bottom" }); } else { $("#table").jqxDataTable({ pagerPosition: "both" }); } }); $('#events').jqxPanel({ width: 150, height: 150}); $("#gotopage").jqxInput({ height: 25, width: 120 }); $("#applyPage").jqxButton({ height: 25}); $("#applyPage").click(function () { var page = parseInt($("#gotopage").val()); if (!isNaN(page)) { page--; if (page < 0) page = 0; $("#table").jqxDataTable('goToPage', page); } }); $("#table").on("pageChanged", function (event) { $("#eventslog").css('display', 'block'); if ($("#events").find('.logged').length >= 5) { $("#events").jqxPanel('clearcontent'); } var args = event.args; var eventData = "<div>Page:" + (1 + args.pagenum) + ", Page Size: " + args.pageSize + "</div>"; $('#events').jqxPanel('prepend', '<div class="logged" style="margin-top: 5px;">' + eventData + '</div>'); }); $("#table").on("pageSizeChanged", function (event) { $("#eventslog").css('display', 'block'); $("#events").jqxPanel('clearcontent'); var args = event.args; var eventData = "<div>Page:" + (1 + args.pagenum) + ", Page Size: " + args.pageSize + ", Old Page Size: " + args.oldPageSize + "</div>"; $('#events').jqxPanel('prepend', '<div style="margin-top: 5px;">' + eventData + '</div>'); }); }); </script> </head> <body class='default'> <div id="table"> </div> <div style="font-size: 13px; font-family: verdana; margin-top: 30px;"> <div><strong>Settings</strong></div> <div style="float: left; margin-top: 10px;"> <div>Pager Mode:</div> <div id="pagerModeDropDownList" style="margin-top: 5px;"></div> <div style="margin-top: 10px;">Pager Position:</div> <div id="pagerPositionDropDownList" style="margin-top: 5px;"></div> <div style="margin-top: 10px;">Go to Page:</div> <input id="gotopage" value="1" style="margin-top: 5px;"/> <button id="applyPage">Apply</button> </div> <div style="float:left; margin-left:50px; margin-top: 10px;"> <div>Event Log:</div> <div id="events" style="margin-top: 5px;"></div> </div> </div> <div style="position: absolute; bottom: 5px; right: 5px;"> <a href="https://www.jqwidgets.com/" alt="https://www.jqwidgets.com/"><img alt="https://www.jqwidgets.com/" title="https://www.jqwidgets.com/" src="https://www.jqwidgets.com/wp-content/design/i/logo-jqwidgets.png"/></a> </div> </body> </html>