UNPKG

jqwidgets-framework

Version:

jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.

153 lines (145 loc) 7.77 kB
<!DOCTYPE html> <html lang="en"> <head> <meta content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/> <meta name="msapplication-tap-highlight" content="no" /> <title id='Description'>JavaScript DataGrid Editing - Mobile Example </title> <link rel="stylesheet" href="../styles/demo.css" type="text/css" /> <link rel="stylesheet" href="../../../../jqwidgets/styles/jqx.base.css" type="text/css" /> <link rel="stylesheet" href="../../../../jqwidgets/styles/jqx.windowsphone.css" type="text/css" /> <link rel="stylesheet" href="../../../../jqwidgets/styles/jqx.blackberry.css" type="text/css" /> <link rel="stylesheet" href="../../../../jqwidgets/styles/jqx.mobile.css" type="text/css" /> <link rel="stylesheet" href="../../../../jqwidgets/styles/jqx.android.css" type="text/css" /> <script type="text/javascript" src="../../../../scripts/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="../../../../jqwidgets/jqxcore.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/jqxlistbox.js"></script> <script type="text/javascript" src="../../../../jqwidgets/jqxdropdownlist.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/jqxcalendar.js"></script> <script type="text/javascript" src="../../../../jqwidgets/jqxdatetimeinput.js"></script> <script type="text/javascript" src="../../../../jqwidgets/jqxcheckbox.js"></script> <script type="text/javascript" src="../../../../jqwidgets/globalization/globalize.js"></script> <script type="text/javascript" src="../../../../jqwidgets/jqxgrid.pager.js"></script> <script type="text/javascript" src="../../../../jqwidgets/jqxgrid.selection.js"></script> <script type="text/javascript" src="../../../../jqwidgets/jqxgrid.edit.js"></script> <script type="text/javascript" src="../../../../jqwidgets/jqxgrid.sort.js"></script> <script type="text/javascript" src="../../../../jqwidgets/jqxgrid.filter.js"></script> <script type="text/javascript" src="../../../../jqwidgets/jqxpanel.js"></script> <script type="text/javascript" src="../simulator.js"></script> <script type="text/javascript" src="../../../sampledata/generatedata.js"></script> <script type="text/javascript"> var that = this; $(document).ready(function () { // prepares the simulator. var theme = prepareSimulator("grid"); var data = generatedata(50); this.editrow = -1; var source = { localdata: data, datatype: "array", updaterow: function (rowid, rowdata, commit) { // synchronize with the server - send update command // call commit with parameter true if the synchronization with the server is successful // and with parameter false if the synchronization failder. commit(true); }, datafields: [ { name: 'name', type: 'string' }, { 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: 'date', type: 'date' } ] }; var dataAdapter = new $.jqx.dataAdapter(source); // initialize jqxGrid $("#grid").jqxGrid( { width: '100%', height: '100%', source: dataAdapter, editable: true, columnsheight: 40, columnsmenuwidth: 24, rowsheight: 34, theme: theme, sortable: true, selectionmode: 'none', editmode: 'selectedrow', columns: [ { text: 'Name', columntype: 'textbox', datafield: 'name', width: '30%' }, { text: 'Product', width: '40%', columntype: 'textbox', datafield: 'productname' }, { text: 'Edit', align: "center", editable: false, sortable: false, datafield: 'available', cellsrenderer: function (row, column, value) { var eventName = "onclick"; if ($.jqx.mobile.isTouchDevice()) { eventName = "on" + $.jqx.mobile.getTouchEventName('touchstart'); } if (row === that.editrow) { return "<div style='text-align: center; width: 100%; top: 7px; position: relative;'><a " + eventName + "='Update(" + row + ", event)' style='color: inherit;' href='javascript:;'>Update</a><span style=''>/</span>" + "<a " + eventName + "='Cancel(" + row + ", event)' style='color: inherit;' href='javascript:;'>Cancel</a></div>"; } return "<a " + eventName + "='Edit(" + row + ", event)' style='color: inherit; margin-left: 50%; left: -15px; top: 7px; position: relative;' href='javascript:;'>Edit</a>"; } } ] }); initSimulator("grid"); }); </script> <style type="text/css"> a:link{ font-size: 16px !important; } </style> </head> <body class='default'> <div id="demoContainer" class="device-mobile-tablet"> <div id="container" class="device-mobile-tablet-container"> <div id='grid'> <script type="text/javascript"> function Edit(row, event) { that.editrow = row; $("#grid").jqxGrid('beginrowedit', row); if (event) { if (event.preventDefault) { event.preventDefault(); } } return false; } function Update(row, event) { that.editrow = -1; $("#grid").jqxGrid('endrowedit', row); if (event) { if (event.preventDefault) { event.preventDefault(); } } return false; } function Cancel(row, event) { that.editrow = -1; $("#grid").jqxGrid('endrowedit', row, true); if (event) { if (event.preventDefault) { event.preventDefault(); } } return false; } </script> </div> </div> </div> </body> </html>