+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />\r
-<title>Test dojox.Grid Editing</title>\r
-<style>\r
- @import "../_grid/Grid.css";\r
- body {\r
- font-family: Tahoma, Arial, Helvetica, sans-serif;\r
- font-size: 11px;\r
- }\r
- .dojoxGrid-row-editing td {\r
- background-color: #F4FFF4;\r
- }\r
- .dojoxGrid input, .dojoxGrid select, .dojoxGrid textarea {\r
- margin: 0;\r
- padding: 0;\r
- border-style: none;\r
- width: 100%;\r
- font-size: 100%;\r
- font-family: inherit;\r
- }\r
- .dojoxGrid input {\r
- }\r
- .dojoxGrid select {\r
- }\r
- .dojoxGrid textarea {\r
- }\r
- #controls {\r
- padding: 6px 0;\r
- }\r
- #grid {\r
- width: 850px;\r
- height: 350px;\r
- border: 1px solid silver;\r
- }\r
-</style>\r
- <script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug:false, parseOnLoad: true"></script>\r
- <!--<script type="text/javascript">\r
- dojo.require("dojox.grid.Grid");\r
- dojo.require("dojo.parser");\r
- </script>-->\r
- <!-- Debugging -->\r
- <script type="text/javascript" src="../_grid/lib.js"></script>\r
- <script type="text/javascript" src="../_grid/drag.js"></script>\r
- <script type="text/javascript" src="../_grid/scroller.js"></script>\r
- <script type="text/javascript" src="../_grid/builder.js"></script>\r
- <script type="text/javascript" src="../_grid/cell.js"></script>\r
- <script type="text/javascript" src="../_grid/layout.js"></script>\r
- <script type="text/javascript" src="../_grid/rows.js"></script>\r
- <script type="text/javascript" src="../_grid/focus.js"></script>\r
- <script type="text/javascript" src="../_grid/selection.js"></script>\r
- <script type="text/javascript" src="../_grid/edit.js"></script>\r
- <script type="text/javascript" src="../_grid/view.js"></script>\r
- <script type="text/javascript" src="../_grid/views.js"></script>\r
- <script type="text/javascript" src="../_grid/rowbar.js"></script>\r
- <script type="text/javascript" src="../_grid/publicEvents.js"></script>\r
- <script type="text/javascript" src="../VirtualGrid.js"></script>\r
- <script type="text/javascript" src="../_data/fields.js"></script>\r
- <script type="text/javascript" src="../_data/model.js"></script>\r
- <script type="text/javascript" src="../_data/editors.js"></script>\r
- <script type="text/javascript" src="../Grid.js"></script>\r
- <script type="text/javascript">\r
- // ==========================================================================\r
- // Create a data model\r
- // ==========================================================================\r
- data = [ \r
- [ "normal", false, "new", 'But are not followed by two hexadecimal', 29.91, 10, false ],\r
- [ "important", false, "new", 'Because a % sign always indicates', 9.33, -5, false ],\r
- [ "important", false, "read", 'Signs can be selectively', 19.34, 0, true ],\r
- [ "note", false, "read", 'However the reserved characters', 15.63, 0, true ],\r
- [ "normal", false, "replied", 'It is therefore necessary', 24.22, 5.50, true ],\r
- [ "important", false, "replied", 'To problems of corruption by', 9.12, -3, true ],\r
- [ "note", false, "replied", 'Which would simply be awkward in', 12.15, -4, false ]\r
- ];\r
- var rows = 10000;\r
- for(var i=0, l=data.length; i<rows-l; i++){\r
- data.push(data[i%l].slice(0));\r
- }\r
- model = new dojox.grid.data.Table(null, data);\r
- // ==========================================================================\r
- // Tie some UI to the data model\r
- // ==========================================================================\r
- model.observer(this);\r
- modelChange = function() {\r
- dojo.byId("rowCount").innerHTML = 'Row count: ' + model.count; \r
- }\r
- // ==========================================================================\r
- // Custom formatter\r
- // ==========================================================================\r
- formatMoney = function(inDatum) {\r
- return isNaN(inDatum) ? '...' : '$' + parseFloat(inDatum).toFixed(2);\r
- }\r
- // ==========================================================================\r
- // Grid structure\r
- // ==========================================================================\r
- statusCell = { field: 2, name: 'Status', styles: 'text-align: center;', editor: dojox.grid.editors.Select, options: [ "new", "read", "replied" ] };\r
- gridLayout = [{\r
- type: 'dojox.GridRowView', width: '20px'\r
- },{\r
- defaultCell: { width: 8, editor: dojox.grid.editors.Input, styles: 'text-align: right;' },\r
- rows: [[\r
- { name: 'Id', width: 3, get: function(inRowIndex) { return inRowIndex+1;} },\r
- { name: 'Priority', styles: 'text-align: center;', editor: dojox.grid.editors.Select, options: ["normal", "note", "important"]},\r
- { name: 'Mark', width: 3, styles: 'text-align: center;', editor: dojox.grid.editors.Bool },\r
- statusCell,\r
- { name: 'Message', styles: '', width: '100%' },\r
- { name: 'Amount', formatter: formatMoney },\r
- { name: 'Amount', field: 4, formatter: formatMoney }\r
- ]]\r
- },{\r
- defaultCell: { width: 4, editor: dojox.grid.editors.Input, styles: 'text-align: right;' },\r
- rows: [[\r
- { name: 'Mark', width: 3, field: 1, styles: 'text-align: center;', editor: dojox.grid.editors.Bool}, \r
- statusCell,\r
- { name: 'Amount', field: 4, formatter: formatMoney},\r
- { name: 'Detail', value: 'Detail'}\r
- ]]\r
- }];\r
- // ==========================================================================\r
- // UI Action\r
- // ==========================================================================\r
- addRow = function(){\r
- grid.addRow([ "normal", false, "new", 'Now is the time for all good men to come to the aid of their party.', 99.99, 9.99, false ]);\r
- }\r
- \r
- dojo.addOnLoad(function() {\r
- // simple canEdit logic\r
- grid.canEdit = function(inCell, inRowIndex) {\r
- return !(inCell.index > 1 && inCell.index < 5)\r
- }\r
- });\r
-</script>\r
-</head>\r
-<body>\r
-<h2>\r
- dojox.Grid Basic Editing test\r
-</h2>\r
-<div id="controls">\r
- <button onclick="grid.refresh()">Refresh</button> \r
- <button onclick="grid.edit.focusEditor()">Focus Editor</button>\r
- <button onclick="grid.focus.next()">Next Focus</button> \r
- <button onclick="addRow()">Add Row</button>\r
- <button onclick="grid.removeSelectedRows()">Remove</button> \r
- <button onclick="grid.edit.apply()">Apply</button>\r
- <button onclick="grid.edit.cancel()">Cancel</button> \r
- <button onclick="grid.singleClickEdit = !grid.singleClickEdit">Toggle singleClickEdit</button> \r
-</div>\r
-<br />\r
-<div id="grid" dojoType="dojox.Grid" \r
- jsId="grid"\r
- model="model" structure="gridLayout"></div>\r
-<br />\r
-<div id="rowCount"></div>\r
-</body>\r
-</html>\r