editor_numberbox.htm 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title></title>
  5. <link href="../../../lib/ligerUI/skins/Aqua/css/ligerui-all.css" rel="stylesheet"
  6. type="text/css" />
  7. <script src="../../../lib/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
  8. <script src="../../../lib/ligerUI/js/core/base.js" type="text/javascript"></script>
  9. <script src="../../../lib/ligerUI/js/plugins/ligerGrid.js" type="text/javascript"></script>
  10. <script src="../ProductData.js" type="text/javascript"></script>
  11. <script type="text/javascript">
  12. //扩展一个 数字输入 的编辑器
  13. $.ligerDefaults.Grid.editors['numberbox'] = {
  14. create: function (container, editParm) {
  15. var column = editParm.column;
  16. var precision = column.editor.precision;
  17. var input = $("<input type='text' style='text-align:right' class='l-text' />");
  18. input.bind('keypress', function (e) {
  19. var keyCode = window.event ? e.keyCode : e.which;
  20. return keyCode >= 48 && keyCode <= 57 || keyCode == 46 || keyCode == 8;
  21. });
  22. input.bind('blur', function () {
  23. var value = input.val();
  24. input.val(parseFloat(value).toFixed(precision));
  25. });
  26. container.append(input);
  27. return input;
  28. },
  29. getValue: function (input, editParm) {
  30. return parseFloat(input.val());
  31. },
  32. setValue: function (input, value, editParm) {
  33. var column = editParm.column;
  34. var precision = column.editor.precision;
  35. input.val(value.toFixed(precision));
  36. },
  37. resize: function (input, width, height, editParm) {
  38. input.width(width ).height(height );
  39. }
  40. };
  41. //扩展 numberbox 类型的格式化函数
  42. $.ligerDefaults.Grid.formatters['numberbox'] = function (value, column) {
  43. var precision = column.editor.precision;
  44. return value.toFixed(precision);
  45. };
  46. $(function () {
  47. $("#maingrid").ligerGrid({
  48. columns: [
  49. { display: '产品', columns:
  50. [
  51. { display: '主键', name: 'ProductID', type: 'int' },
  52. { display: '产品名', name: 'ProductName', align: 'left', width: 100 },
  53. { display: '单价', name: 'UnitPrice', align: 'right', type: 'numberbox',
  54. editor: { type: 'numberbox', precision: 2}
  55. }
  56. ]
  57. },
  58. { display: '仓库数量', name: 'UnitsInStock', align: 'right', type: 'float', editor: { type: 'numberbox', precision: 0} }
  59. ], data: ProductData, enabledEdit: true
  60. });
  61. });
  62. </script>
  63. </head>
  64. <body>
  65. <div id="maingrid">
  66. </div>
  67. <div style="display: none;">
  68. </div>
  69. </body>
  70. </html>