UNPKG

jqwidgets-scripts-custom

Version:

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

142 lines (128 loc) 6.89 kB
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'>Grid Custom Element EditModes</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 Custom Element Grid's editing modes." /> <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/jqxgrid.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxgrid.edit.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxgrid.selection.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/jqxcheckbox.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcalendar.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxnumberinput.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdatetimeinput.js"></script> <script type="text/javascript" src="../../../jqwidgets/globalization/globalize.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 data = generatedata(200); var source = { localdata: data, datatype: 'array', datafields: [ { name: 'firstname', type: 'string' }, { name: 'lastname', type: 'string' }, { name: 'productname', type: 'string' }, { name: 'available', type: 'bool' }, { name: 'quantity', type: 'number' }, { name: 'price', type: 'number' } ] }; var dataAdapter = new jqx.dataAdapter(source); JQXElements.settings['gridSettings'] = { width: 850, source: dataAdapter, editable: true, selectionmode: 'singlecell', editmode: 'click', columns: [ { text: 'First Name', columntype: 'textbox', datafield: 'firstname', width: 90 }, { text: 'Last Name', datafield: 'lastname', width: 90 }, { text: 'Product', datafield: 'productname' }, { text: 'Quantity', datafield: 'quantity', width: 70, cellsalign: 'right' }, { text: 'Available', datafield: 'available', columntype: 'checkbox', width: 67 } ] }; JQXElements.settings['dropDownListSettings'] = { selectedIndex: 0, dropDownWidth: 150, autoDropDownHeight: true, source: ['Click', 'Double-Click', 'Selected Cell Click'] }; JQXElements.settings['checkBoxSettings'] = { checked: true }; window.onload = function() { var myGrid = document.querySelector('jqx-grid'); var myDropDownList = document.querySelector('jqx-drop-down-list'); var myCheckBoxes = document.querySelectorAll('jqx-check-box'); myDropDownList.addEventListener('select', function(event) { var index = event.args.index; var editMode = index == 0 ? 'click' : index == 1 ? 'dblclick' : 'selectedcell'; myGrid.editmode = editMode; }); for (var i = 0; i < myCheckBoxes.length; i++) { myCheckBoxes[i].addEventListener('change', function(event) { var dataField = event.target.parentNode.classList[0]; myGrid.setcolumnproperty(dataField, 'editable', event.args.checked); }); } }; </script> </head> <body> <div class="example-description"> In order to enter in edit mode, 'click' on a Custom element Grid cell. The sample illustrates how to enable/disable the editing and the Custom element Grid edit modes. </div> <div style="font-size: 13px; font-family: Verdana; float: left;"> <jqx-grid settings="gridSettings"></jqx-grid> <div style="margin-top: 20px;"> <div style="float: left; margin-top: 10px;"> <span>Edit Mode:</span> <jqx-drop-down-list settings="dropDownListSettings" style="margin-top: 5px;"></jqx-drop-down-list> </div> <div style="float: left; margin-left: 20px; margin-top: 10px;"> <span>Editable Columns:</span> <div> <div style="float: left;"> <jqx-check-box settings="checkBoxSettings" class="firstname"> First Name </jqx-check-box><br /> <jqx-check-box settings="checkBoxSettings" class="lastname"> Last Name </jqx-check-box><br /> <jqx-check-box settings="checkBoxSettings" class="quantity"> Quantity </jqx-check-box> </div> <div style="float: left; margin-left: 20px;"> <jqx-check-box settings="checkBoxSettings" class="productname"> Product </jqx-check-box><br /> <jqx-check-box settings="checkBoxSettings" class="available"> Available </jqx-check-box> </div> </div> </div> </div> </div> </body> </html>