• Edit
  • Download
    1. <!DOCTYPE html>
    2. <html>
    3.  
    4. <head>
    5. <meta charset="utf-8">
    6. <title>ZingGrid: filterer demo</title>
    7. <script nonce="undefined" src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
    8. <style>
    9. body {
    10. background: #e6e6e6;
    11. }
    12.  
    13. zing-grid[loading] {
    14. height: 317px;
    15. }
    16. </style>
    17. </head>
    18.  
    19. <body>
    20. <h3>`[filterer]` enables overriding part or all of the filterer for that column.</h3>
    21. <p>In this example, the filterer has been customized to accept only letter inputs for the "Name" column</p>
    22.  
    23. <zing-grid filter="inline" filterer>
    24. <zg-caption>filterer Demo</zg-caption>
    25. <zg-data data='[
    26. {
    27. "name": "Maria",
    28. "number": 123
    29. },
    30. {
    31. "name": "Juanita",
    32. "number": 456
    33. },
    34. {
    35. "name": "Felicity",
    36. "number": 789
    37. }
    38. ]'>
    39. </zg-data>
    40. <zg-colgroup>
    41. <zg-column index="name" filterer="customFilter"></zg-column>
    42. <zg-column index="number"></zg-column>
    43. </zg-colgroup>
    44. </zing-grid>
    45.  
    46. <script>
    47. ZingGrid.setLicense(['26ccbfec16b8be9ee98c7d57bee6e498']);
    48. window.customFilter = {
    49. afterInit(oDOMFilter) {
    50. let oDOMInput = oDOMFilter.querySelector('input');
    51. oDOMInput.addEventListener('keypress', (e) => {
    52. let char = e.key;
    53. if (!/^[a-z]$/i.test(char)) {
    54. e.preventDefault();
    55. };
    56. });
    57. }
    58. };
    59. </script>
    60. </body>
    61.  
    62. </html>
    1. <!DOCTYPE html>
    2. <html>
    3.  
    4. <head>
    5. <meta charset="utf-8">
    6. <title>ZingGrid: filterer demo</title>
    7. <script src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
    8. </head>
    9.  
    10. <body>
    11. <h3>`[filterer]` enables overriding part or all of the filterer for that column.</h3>
    12. <p>In this example, the filterer has been customized to accept only letter inputs for the "Name" column</p>
    13.  
    14. <zing-grid filter="inline" filterer>
    15. <zg-caption>filterer Demo</zg-caption>
    16. <zg-data data='[
    17. {
    18. "name": "Maria",
    19. "number": 123
    20. },
    21. {
    22. "name": "Juanita",
    23. "number": 456
    24. },
    25. {
    26. "name": "Felicity",
    27. "number": 789
    28. }
    29. ]'>
    30. </zg-data>
    31. <zg-colgroup>
    32. <zg-column index="name" filterer="customFilter"></zg-column>
    33. <zg-column index="number"></zg-column>
    34. </zg-colgroup>
    35. </zing-grid>
    36.  
    37. </body>
    38.  
    39. </html>
    1. body {
    2. background: #e6e6e6;
    3. }
    1. window.customFilter = {
    2. afterInit(oDOMFilter) {
    3. let oDOMInput = oDOMFilter.querySelector('input');
    4. oDOMInput.addEventListener('keypress', (e) => {
    5. let char = e.key;
    6. if (!/^[a-z]$/i.test(char)) {
    7. e.preventDefault();
    8. };
    9. });
    10. }
    11. };