UNPKG

jqwidgets-scripts-custom

Version:

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

105 lines (93 loc) 4.88 kB
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'>Grid Custom Element TextAlignment</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 the alignments available 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/jqxscrollbar.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxmenu.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxradiobutton.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="../../../scripts/demos.js"></script> <script type="text/javascript" src="../../sampledata/generatedata.js"></script> <script type="text/javascript"> var source = { localdata: generatedata(200), datafields: [ { name: 'id', type: 'number' }, { name: 'firstname', type: 'string' }, { name: 'lastname', type: 'string' }, { name: 'productname', type: 'string' }, { name: 'available', type: 'bool' }, { name: 'quantity', type: 'number' }, { name: 'price', type: 'number' }, { name: 'total', type: 'number' } ], datatype: 'array' }; var dataAdapter = new jqx.dataAdapter(source); var columns = [ { text: 'First Name', datafield: 'firstname', width: 200, cellsalign: 'center', align: 'center' }, { text: 'Last Name', datafield: 'lastname', width: 200, cellsalign: 'center', align: 'center' }, { text: 'Product', datafield: 'productname', width: 180, cellsalign: 'center', align: 'center' }, { text: 'Quantity', datafield: 'quantity', width: 80, cellsalign: 'center', align: 'center' }, { text: 'Unit Price', datafield: 'price', width: 90, cellsalign: 'center', align: 'center', cellsformat: 'c2' }, { text: 'Total', datafield: 'total', cellsalign: 'center', align: 'center', cellsformat: 'c2' } ]; JQXElements.settings['gridSettings'] = { source: dataAdapter, selectionmode: 'multiplecellsextended', columns: columns }; JQXElements.settings['radioBtnCheckedSettings'] = { checked: true }; window.onload = function() { var myGrid = document.querySelector('jqx-grid'); var myRadioButtons = document.querySelectorAll('jqx-radio-button'); var setAlignment = (align) => { myGrid.beginupdate(); for (var index = 0; index < columns.length; index++) { myGrid.setcolumnproperty(columns[index].datafield, 'align', align); myGrid.setcolumnproperty(columns[index].datafield, 'cellsalign', align); } myGrid.endupdate(); } myRadioButtons[0].addEventListener('checked', function() { setAlignment('left'); }); myRadioButtons[1].addEventListener('checked', function() { setAlignment('center'); }); myRadioButtons[2].addEventListener('checked', function() { setAlignment('right'); }); }; </script> </head> <body> <div class="example-description"> This example shows the set the cells and columns alignment. </div> <jqx-grid settings="gridSettings"></jqx-grid> <div> <h3>Alignment</h3> <jqx-radio-button>Left</jqx-radio-button> <jqx-radio-button settings="radioBtnCheckedSettings">Center</jqx-radio-button> <jqx-radio-button>Right</jqx-radio-button> </div> </body> </html>