easy可编辑表格demo_202001277

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Row Editing in DataGrid - jQuery EasyUI Demo</title>
  6. <link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
  7. <link rel="stylesheet" type="text/css" href="../../themes/icon.css">
  8. <link rel="stylesheet" type="text/css" href="../demo.css">
  9. <script type="text/javascript" src="../../jquery.min.js"></script>
  10. <script type="text/javascript" src="../../jquery.easyui.min.js"></script>
  11. </head>
  12. <body>
  13. <h2>Row Editing in DataGrid</h2>
  14. <p>Click the row to start editing.</p>
  15. <div style="margin:20px 0;"></div>
  16.  
  17. <table id="dg" class="easyui-datagrid" title="Row Editing in DataGrid" style="width:700px;height:auto"
  18. data-options="
  19. iconCls: 'icon-edit',
  20. singleSelect: true,
  21. toolbar: '#tb',
  22. url: '/html/dataGrid/DEMO/datagrid_data1.asp',
  23. method: 'get',
  24. onClickCell: onClickCell,
  25. onEndEdit: onEndEdit
  26. ">
  27. <thead>
  28. <tr>
  29. <th data-options="field:'itemid',width:80">Item ID</th>
  30. <th data-options="field:'productid',width:100,
  31. formatter:function(value,row){
  32. return row.productname;
  33. },
  34. editor:{
  35. type:'combobox',
  36. options:{
  37. valueField:'productid',
  38. textField:'productname',
  39. method:'get',
  40. url:'products.json',
  41. required:true
  42. }
  43. }">Product</th>
  44. <th data-options="field:'listprice',width:80,align:'right',editor:{type:'numberbox',options:{precision:2}}">List Price</th>
  45. <th data-options="field:'unitcost',width:80,align:'right',editor:{type:'numberbox',options:{precision:2}}">Unit Cost</th>
  46. <th data-options="field:'attr1',width:250,editor:'textbox'">Attribute</th>
  47. <th data-options="field:'status',width:60,align:'center',editor:{type:'checkbox',options:{on:'P',off:''}}">Status</th>
  48. </tr>
  49. </thead>
  50. </table>
  51.  
  52. <div id="tb" style="height:auto">
  53. <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" οnclick="append()">Append</a>
  54. <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true" οnclick="removeit()">Remove</a>
  55. <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-save',plain:true" οnclick="accept()">Accept</a>
  56. <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-undo',plain:true" οnclick="reject()">Reject</a>
  57. <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true" οnclick="getChanges()">GetChanges</a>
  58. </div>
  59.  
  60. <script type="text/javascript">
  61. var editIndex = undefined;
  62. function endEditing(){
  63. if (editIndex == undefined){return true}
  64. if ($('#dg').datagrid('validateRow', editIndex)){
  65. $('#dg').datagrid('endEdit', editIndex);
  66. editIndex = undefined;
  67. return true;
  68. } else {
  69. return false;
  70. }
  71. }
  72. function onClickCell(index, field){
  73. if (editIndex != index){
  74. if (endEditing()){
  75. $('#dg').datagrid('selectRow', index)
  76. .datagrid('beginEdit', index);
  77. var ed = $('#dg').datagrid('getEditor', {index:index,field:field});
  78. if (ed){
  79. ($(ed.target).data('textbox') ? $(ed.target).textbox('textbox') : $(ed.target)).focus();
  80. }
  81. editIndex = index;
  82. } else {
  83. setTimeout(function(){
  84. $('#dg').datagrid('selectRow', editIndex);
  85. },0);
  86. }
  87. }
  88. }
  89. function onEndEdit(index, row){
  90. var ed = $(this).datagrid('getEditor', {
  91. index: index,
  92. field: 'productid'
  93. });
  94. row.productname = $(ed.target).combobox('getText');
  95. }
  96. function append(){
  97. if (endEditing()){
  98. $('#dg').datagrid('appendRow',{status:'P'});
  99. editIndex = $('#dg').datagrid('getRows').length-1;
  100. $('#dg').datagrid('selectRow', editIndex)
  101. .datagrid('beginEdit', editIndex);
  102. }
  103. }
  104. function removeit(){
  105. if (editIndex == undefined){return}
  106. $('#dg').datagrid('cancelEdit', editIndex)
  107. .datagrid('deleteRow', editIndex);
  108. editIndex = undefined;
  109. }
  110. function accept(){
  111. if (endEditing()){
  112. $('#dg').datagrid('acceptChanges');
  113. }
  114. }
  115. function reject(){
  116. $('#dg').datagrid('rejectChanges');
  117. editIndex = undefined;
  118. }
  119. function getChanges(){
  120. var rows = $('#dg').datagrid('getChanges');
  121. alert(rows.length+' rows are changed!');
  122. }
  123. </script>
  124. </body>
  125. </html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值