1
0

loading-by-page.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  5. <title>jsGrid - Loading Data by Page Scenario</title>
  6. <link rel="stylesheet" type="text/css" href="demos.css" />
  7. <link href='http://fonts.googleapis.com/css?family=Open+Sans:300,600,400' rel='stylesheet' type='text/css'>
  8. <link rel="stylesheet" type="text/css" href="../css/jsgrid.css" />
  9. <link rel="stylesheet" type="text/css" href="../css/theme.css" />
  10. <script src="../external/jquery/jquery-1.8.3.js"></script>
  11. <script src="db.js"></script>
  12. <script src="../src/jsgrid.core.js"></script>
  13. <script src="../src/jsgrid.load-indicator.js"></script>
  14. <script src="../src/jsgrid.load-strategies.js"></script>
  15. <script src="../src/jsgrid.sort-strategies.js"></script>
  16. <script src="../src/jsgrid.field.js"></script>
  17. <script src="../src/fields/jsgrid.field.text.js"></script>
  18. <script src="../src/fields/jsgrid.field.number.js"></script>
  19. <script src="../src/fields/jsgrid.field.select.js"></script>
  20. <script src="../src/fields/jsgrid.field.checkbox.js"></script>
  21. <style>
  22. .pager-panel {
  23. padding: 10px;
  24. margin: 10px 0;
  25. background: #fcfcfc;
  26. border: 1px solid #e9e9e9;
  27. display: inline-block;
  28. }
  29. </style>
  30. </head>
  31. <body>
  32. <h1>Loading Data by Page</h1>
  33. <div class="pager-panel">
  34. <label>Page:
  35. <select id="pager">
  36. <option>1</option>
  37. <option selected>2</option>
  38. <option>3</option>
  39. <option>4</option>
  40. <option>5</option>
  41. <option>6</option>
  42. <option>7</option>
  43. </select>
  44. </label>
  45. </div>
  46. <div id="jsGrid"></div>
  47. <script>
  48. $(function() {
  49. $("#jsGrid").jsGrid({
  50. height: "70%",
  51. width: "100%",
  52. autoload: true,
  53. paging: true,
  54. pageLoading: true,
  55. pageSize: 15,
  56. pageIndex: 2,
  57. controller: {
  58. loadData: function(filter) {
  59. var startIndex = (filter.pageIndex - 1) * filter.pageSize;
  60. return {
  61. data: db.clients.slice(startIndex, startIndex + filter.pageSize),
  62. itemsCount: db.clients.length
  63. };
  64. }
  65. },
  66. fields: [
  67. { name: "Name", type: "text", width: 150 },
  68. { name: "Age", type: "number", width: 50 },
  69. { name: "Address", type: "text", width: 200 },
  70. { name: "Country", type: "select", items: db.countries, valueField: "Id", textField: "Name" },
  71. { name: "Married", type: "checkbox", title: "Is Married" }
  72. ]
  73. });
  74. $("#pager").on("change", function() {
  75. var page = parseInt($(this).val(), 10);
  76. $("#jsGrid").jsGrid("openPage", page);
  77. });
  78. });
  79. </script>
  80. </body>
  81. </html>