UNPKG

jqwidgets-scripts-custom

Version:

jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.

253 lines (238 loc) 9.74 kB
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'>Grid Custom Element LoadFromTable</title> <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" /> <meta name="description" content="This is an example of Table data in Custom Element Grid." /> <link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" /> <link rel="stylesheet" href="../../../styles/demos.css" type="text/css" /> <script type="text/javascript" src="../../../scripts/webcomponents-lite.min.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.elements.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/jqxcheckbox.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxscrollbar.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxmenu.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxgrid.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxgrid.selection.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxgrid.sort.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxgrid.columnsresize.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxgrid.edit.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="../../../scripts/demos.js"></script> <script type="text/javascript"> var generateData = function() { var table = document.querySelector('table'); var columns = table.children[0].querySelectorAll('th'); var rows = table.children[1].querySelectorAll('tr'); var data = []; for (var i = 0; i < rows.length; i++) { var row = rows[i]; var datarow = {}; for (var j = 0; j < columns.length; j++) { // Get column's title. var columnName = columns[j].innerHTML; // Get cell. var cell = rows[i].children[j].innerHTML; datarow[columnName] = cell; } data[data.length] = datarow; } return data; }; window.onload = function() { var myButton = document.querySelector('jqx-button'); myButton.addEventListener('click', function() { var source = { localdata: generateData(), datatype: 'array', datafields: [ { name: 'First Name', type: 'string' }, { name: 'Last Name', type: 'string' }, { name: 'Product', type: 'string' }, { name: 'Available', type: 'string' }, { name: 'Ship Date', type: 'date', format: 'MM/dd/yyyy' }, { name: 'Quantity', type: 'number' }, { name: 'Price', type: 'number' } ] }; var dataAdapter = new jqx.dataAdapter(source); var settings = { source: dataAdapter, columnsresize: true, autoheight: true, sortable: true, columns: [ { text: 'First Name', dataField: 'First Name', align: 'center', width: 130 }, { text: 'Last Name', dataField: 'Last Name', align: 'center', width: 130 }, { text: 'Product', dataField: 'Product', align: 'center', width: 170 }, { text: 'Available', dataField: 'Available', columntype: 'checkbox', align: 'center', width: 90 }, { text: 'Ship Date', dataField: 'Ship Date', align: 'center', cellsformat: 'd', width: 100 }, { text: 'Quantity', dataField: 'Quantity', align: 'center', cellsalign: 'right', width: 100 }, { text: 'Price', dataField: 'Price', align: 'right', cellsalign: 'right', cellsformat: 'c2' } ] }; var myGrid = document.createElement('jqx-grid'); myGrid.settings = settings; document.querySelector('#gridContainer').appendChild(myGrid); }); }; </script> </head> <body> <div class="example-description"> This example shows how to create an Custom element Grid from Table data. </div> <table style="width: 850px" cellSpacing='0' cellPadding='2'> <thead> <tr> <th>First Name</th> <th>Last Name</th> <th>Product</th> <th>Available</th> <th>Ship Date</th> <th>Quantity</th> <th>Price</th> </tr> </thead> <tbody> <tr> <td>Nancy</td> <td>Vileid</td> <td>Espresso con Panna</td> <td>true</td> <td>5/20/2012</td> <td>9</td> <td>$3.25</td> </tr> <tr> <td>Elio</td> <td>Nagase</td> <td>Espresso con Panna</td> <td>true</td> <td>9/26/2012</td> <td>6</td> <td>$3.25</td> </tr> <tr> <td>Cheryl</td> <td>Nagase</td> <td>Doubleshot Espresso</td> <td>false</td> <td>4/19/2012</td> <td>9</td> <td>$3.30</td> </tr> <tr> <td>Regina</td> <td>Devling</td> <td>Caramel Latte</td> <td>true</td> <td>2/26/2012</td> <td>11</td> <td>$3.80</td> </tr> <tr> <td>Michael</td> <td>Winkler</td> <td>Doubleshot Espresso</td> <td>false</td> <td>7/16/2012</td> <td>4</td> <td>$3.30</td> </tr> <tr> <td>Mayumi</td> <td>Burke</td> <td>Caffe Americano</td> <td>false</td> <td>9/7/2012</td> <td>1</td> <td>$2.50</td> </tr> <tr> <td>Andrew</td> <td>Nagase</td> <td>Caffe Espresso</td> <td>true</td> <td>4/15/2012</td> <td>3</td> <td>$3.00</td> </tr> <tr> <td>Ian</td> <td>Burke</td> <td>Green Tea</td> <td>false</td> <td>11/16/2012</td> <td>5</td> <td>$1.50</td> </tr> <tr> <td>Yoshi</td> <td>Petersen</td> <td>White Chocolate Mocha</td> <td>false</td> <td>7/26/2012</td> <td>2</td> <td>$3.60</td> </tr> <tr> <td>Lars</td> <td>Bjorn</td> <td>Peppermint Mocha Twist</td> <td>false</td> <td>7/17/2012</td> <td>11</td> <td>$4.00</td> </tr> <tr> <td>Guylene</td> <td>Devling</td> <td>Caramel Latte</td> <td>true</td> <td>8/9/2012</td> <td>6</td> <td>$3.80</td> </tr> <tr> <td>Michael</td> <td>Burke</td> <td>Caffe Americano</td> <td>false</td> <td>9/10/2012</td> <td>11</td> <td>$2.50</td> </tr> <tr> <td>Petra</td> <td>Vileid</td> <td>White Chocolate Mocha</td> <td>false</td> <td>8/21/2012</td> <td>7</td> <td>$3.60</td> </tr> <tr> <td>Lars</td> <td>Nodier</td> <td>White Chocolate Mocha</td> <td>false</td> <td>7/16/2012</td> <td>8</td> <td>$3.60</td> </tr> </tbody> </table> <br /> <jqx-button>Load jqxGrid from Table</jqx-button> <br /> <div id="gridContainer"></div> </body> </html>