Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <title id='Description'>In order to enter in edit mode, select a grid cell and start typing, "Click" or press the "F2" key. You
- can also navigate through the cells using the keyboard arrows or with the "Tab" and "Shift + Tab" key combinations. To cancel the cell editing, press the "Esc" key. To save
- the changes press the "Enter" key or select another Grid cell. Pressing the 'Space' key when a checkbox cell is selected will toggle the check state.</title>
- <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
- <script type="text/javascript" src="../../scripts/jquery-1.10.2.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/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/jqxgrid.grouping.js"></script>
- <script type="text/javascript" src="../../jqwidgets/globalization/globalize.js"></script>
- <script type="text/javascript" src="../../scripts/gettheme.js"></script>
- <script type="text/javascript" src="generatedata.js"></script>
- <script type="text/javascript">
- $(document).ready(function () {
- var theme = getDemoTheme();
- // prepare the data
- var data = generatedata(200);
- // 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: '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);
- var url = "../sampledata/customers.xml";
- var source =
- {
- datatype: "xml",
- datafields: [
- { name: 'CompanyName', map: 'm\\:properties>d\\:CompanyName' },
- { name: 'ContactName', map: 'm\\:properties>d\\:ContactName' },
- { name: 'ContactTitle', map: 'm\\:properties>d\\:ContactTitle' },
- { name: 'City', map: 'm\\:properties>d\\:City' },
- { name: 'PostalCode', map: 'm\\:properties>d\\:PostalCode' },
- { name: 'Country', map: 'm\\:properties>d\\:Country' }
- ],
- root: "entry",
- record: "content",
- id: 'm\\:properties>d\\:CustomerID',
- url: url
- };
- var dataAdapter = new $.jqx.dataAdapter(source);
- // initialize jqxGrid
- $("#jqxgrid").jqxGrid(
- {
- width: 685,
- source: dataAdapter,
- editable: true,
- theme: theme,
- groupable:true,
- groups: ["CompanyName"],
- selectionmode: 'multiplecellsadvanced',
- columns: [
- { text: 'First Name', columntype: 'textbox', datafield: 'CompanyName', width: 80 },
- { text: 'Last Name', datafield: 'ContactName', columntype: 'textbox', width: 80 },
- { text: 'Product', columntype: 'dropdownlist', datafield: 'ContactTitle', width: 195 },
- { text: 'Available', datafield: 'available', columntype: 'checkbox', width: 67 },
- {
- text: 'Ship Date', datafield: 'date', columntype: 'datetimeinput', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'd',
- validation: function (cell, value) {
- if (value == "")
- return true;
- var year = value.getFullYear();
- if (year >= 2014) {
- return { result: false, message: "Ship Date should be before 1/1/2014" };
- }
- return true;
- }
- },
- {
- text: 'Quantity', datafield: 'quantity', width: 70, align: 'right', cellsalign: 'right', columntype: 'numberinput',
- validation: function (cell, value) {
- if (value < 0 || value > 150) {
- return { result: false, message: "Quantity should be in the 0-150 interval" };
- }
- return true;
- },
- createeditor: function (row, cellvalue, editor) {
- editor.jqxNumberInput({ decimalDigits: 0, digits: 3 });
- }
- },
- { text: 'Price', datafield: 'price', align: 'right', cellsalign: 'right', cellsformat: 'c2', columntype: 'numberinput',
- validation: function (cell, value) {
- if (value < 0 || value > 15) {
- return { result: false, message: "Price should be in the 0-15 interval" };
- }
- return true;
- },
- createeditor: function (row, cellvalue, editor) {
- editor.jqxNumberInput({ digits: 3 });
- }
- }
- ]
- });
- // events
- $("#jqxgrid").on('cellbeginedit', function (event) {
- var args = event.args;
- $("#cellbegineditevent").text("Event Type: cellbeginedit, Column: " + args.datafield + ", Row: " + (1 + args.rowindex) + ", Value: " + args.value);
- });
- $("#jqxgrid").on('cellendedit', function (event) {
- var args = event.args;
- $("#cellendeditevent").text("Event Type: cellendedit, Column: " + args.datafield + ", Row: " + (1 + args.rowindex) + ", Value: " + args.value);
- });
- });
- </script>
- </head>
- <body class='default'>
- <div id='jqxWidget'>
- <div id="jqxgrid"></div>
- <div style="font-size: 12px; font-family: Verdana, Geneva, 'DejaVu Sans', sans-serif; margin-top: 30px;">
- <div id="cellbegineditevent"></div>
- <div style="margin-top: 10px;" id="cellendeditevent"></div>
- </div>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement