EasyUI Forum
May 06, 2024, 11:12:45 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Use datagrid-filter with datagrid-cellediting not work  (Read 1679 times)
MSAG
Newbie
*
Posts: 41



View Profile Email
« on: March 24, 2022, 03:19:58 PM »

Hi
When i used datagrid-cellediting with datagrid-filter
if lost focus on filter and lost edit on cells
plz can you fix it
thanks a lot



<!DOCTYPE html>
<html>
<head>
   <meta charset="UTF-8">
   <title>jQuery EasyUI Demo</title>
   <link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
   <link rel="stylesheet" type="text/css" href="../../themes/icon.css">
   <script type="text/javascript" src="../../jquery.min.js"></script>
   <script type="text/javascript" src="../../jquery.easyui.min.js"></script>
   <script type="text/javascript" src="datagrid-filter.js"></script>
   <script type="text/javascript" src="datagrid-cellediting.js"></script>
   <style>
      .icon-filter {
         background: url('filter.png') no-repeat center center;
      }
   </style>
   <script>
      var data = [
         { "productid": "FI-SW-01", "productname": "Koi", "unitcost": 10.00, "status": "P", "listprice": 36.50, "attr1": "Large", "itemid": "EST-1" },
         { "productid": "K9-DL-01", "productname": "Dalmation", "unitcost": 12.00, "status": "P", "listprice": 18.50, "attr1": "Spotted Adult Female", "itemid": "EST-10" },
         { "productid": "RP-SN-01", "productname": "Rattlesnake", "unitcost": 12.00, "status": "P", "listprice": 38.50, "attr1": "Venomless", "itemid": "EST-11" },
         { "productid": "RP-SN-01", "productname": "Rattlesnake", "unitcost": 12.00, "status": "P", "listprice": 26.50, "attr1": "Rattleless", "itemid": "EST-12" },
         { "productid": "RP-LI-02", "productname": "Iguana", "unitcost": 12.00, "status": "P", "listprice": 35.50, "attr1": "Green Adult", "itemid": "EST-13" },
         { "productid": "FL-DSH-01", "productname": "Manx", "unitcost": 12.00, "status": "N", "listprice": 158.50, "attr1": "Tailless", "itemid": "EST-14" },
         { "productid": "FL-DSH-01", "productname": "Manx", "unitcost": 12.00, "status": "P", "listprice": 83.50, "attr1": "With tail", "itemid": "EST-15" },
         { "productid": "FL-DLH-02", "productname": "Persian", "unitcost": 12.00, "status": "P", "listprice": 23.50, "attr1": "Adult Female", "itemid": "EST-16" },
         { "productid": "FL-DLH-02", "productname": "Persian", "unitcost": 12.00, "status": "N", "listprice": 89.50, "attr1": "Adult Male", "itemid": "EST-17" },
         { "productid": "AV-CB-01", "productname": "Amazon Parrot", "unitcost": 92.00, "status": "N", "listprice": 63.50, "attr1": "Adult Male", "itemid": "EST-18" }
      ];
      $(function () {
         
         var dg = $('#dg').datagrid({
            filterBtnIconCls: 'icon-filter', data: data
         });

         dg.datagrid('enableFilter', [
            {
               field: 'productid',
               type: 'datebox',
               op: ['equal', 'notequal', 'less', 'greater']
            }, {
               field: 'listprice',
               type: 'numberbox',
               options: { precision: 1 },
               op: ['equal', 'notequal', 'less', 'greater']
            }, {
               field: 'unitcost',
               type: 'numberbox',
               options: { precision: 1 },
               op: ['equal', 'notequal', 'less', 'greater']
            }, {
               field: 'status',
               type: 'combobox',
               options: {
                  panelHeight: 'auto',
                  height: '100%',
                  icons: [{ iconCls: 'combo-arrow icon-ok', handler: function (e) { var target = e.data.target; var panel = $.data(target, 'combo').panel; if (panel.is(':visible')) { $(target).combo('hidePanel'); } else { var p = $(target).closest('div.combo-panel'); $('div.combo-panel:visible').not(panel).not(p).panel('close'); $(target).combo('showPanel'); } } }],
                  hasDownArrow: false,
                  data: [{ value: '', text: 'All' }, { value: 'P', text: 'The P' }, { value: 'N', text: 'The N' }],
                  limitToList: true,
                  editable: false,
                  onChange: function (value) {
                     if (value == '') {
                        dg.datagrid('removeFilterRule', 'status');
                     } else {
                        dg.datagrid('addFilterRule', {
                           field: 'status',
                           op: 'equal',
                           value: value
                        });
                     }
                     dg.datagrid('doFilter');
                  }
               }
                }]).datagrid('enableCellEditing');
      });

   </script>
</head>
<body>
   <h1>DataGrid Filter Row</h1>
   
   <table id="dg" title="DataGrid" style="width:700px;height:250px">
      <thead>
         <tr>
            <th data-options="field:'itemid',width:80">Item ID</th>
            <th data-options="field:'productid',width:100">Product</th>
            <th data-options="field:'listprice',width:80,align:'right'">List Price</th>
            <th data-options="field:'unitcost',width:80,align:'right'">Unit Cost</th>
            <th data-options="field:'attr1',width:250">Attribute</th>
            <th data-options="field:'status',width:60,align:'center'">Status</th>
         </tr>
      </thead>
   </table>
</body>
</html>
« Last Edit: March 24, 2022, 03:21:38 PM by MSAG » Logged
jarry
Administrator
Hero Member
*****
Posts: 2262


View Profile Email
« Reply #1 on: March 25, 2022, 02:11:23 AM »

Please refer to the code below:
Code:
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Cell Editing in DataGrid - jQuery EasyUI Demo</title>
    <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/default/easyui.css">
    <script type="text/javascript" src="https://www.jeasyui.com/easyui/jquery.min.js"></script>
    <script type="text/javascript" src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="https://www.jeasyui.com/easyui/datagrid-filter.js"></script>
    <script type="text/javascript" src="https://www.jeasyui.com/easyui/datagrid-cellediting.js"></script>
    <script type="text/javascript">
        var data = {
            "total": 28, "rows": [
                { "productid": "FI-SW-01", "productname": "Koi", "unitcost": 10.00, "status": "P", "listprice": 36.50, "attr1": "Large", "itemid": "EST-1" },
                { "productid": "K9-DL-01", "productname": "Dalmation", "unitcost": 12.00, "status": "P", "listprice": 18.50, "attr1": "Spotted Adult Female", "itemid": "EST-10" },
                { "productid": "RP-SN-01", "productname": "Rattlesnake", "unitcost": 12.00, "status": "P", "listprice": 38.50, "attr1": "Venomless", "itemid": "EST-11" },
                { "productid": "RP-SN-01", "productname": "Rattlesnake", "unitcost": 12.00, "status": "P", "listprice": 26.50, "attr1": "Rattleless", "itemid": "EST-12" },
                { "productid": "RP-LI-02", "productname": "Iguana", "unitcost": 12.00, "status": "P", "listprice": 35.50, "attr1": "Green Adult", "itemid": "EST-13" },
                { "productid": "FL-DSH-01", "productname": "Manx", "unitcost": 12.00, "status": "P", "listprice": 158.50, "attr1": "Tailless", "itemid": "EST-14" },
                { "productid": "FL-DSH-01", "productname": "Manx", "unitcost": 12.00, "status": "P", "listprice": 83.50, "attr1": "With tail", "itemid": "EST-15" },
                { "productid": "FL-DLH-02", "productname": "Persian", "unitcost": 12.00, "status": "P", "listprice": 23.50, "attr1": "Adult Female", "itemid": "EST-16" },
                { "productid": "FL-DLH-02", "productname": "Persian", "unitcost": 12.00, "status": "P", "listprice": 89.50, "attr1": "Adult Male", "itemid": "EST-17" },
                { "productid": "AV-CB-01", "productname": "Amazon Parrot", "unitcost": 92.00, "status": "P", "listprice": 63.50, "attr1": "Adult Male", "itemid": "EST-18" }
            ]
        }

        $(function () {
            $('#dg').datagrid({
                data: data
            }).datagrid('enableFilter').datagrid('enableCellEditing').datagrid('gotoCell', {
                index: 0,
                field: 'productid'
            });
        });
    </script>
</head>

<body>
    <table id="dg" title="Cell Editing in DataGrid" style="width:700px;height:400px">
        <thead>
            <tr>
                <th data-options="field:'itemid',width:100">Item ID</th>
                <th data-options="field:'productid',width:100,editor:'text'">Product</th>
                <th
                    data-options="field:'listprice',width:80,align:'right',editor:{type:'numberbox',options:{precision:1}}">
                    List Price</th>
                <th data-options="field:'unitcost',width:80,align:'right',editor:'numberbox'">Unit Cost</th>
                <th data-options="field:'attr1',width:250,editor:'text'">Attribute</th>
                <th
                    data-options="field:'status',width:60,align:'center',editor:{type:'checkbox',options:{on:'P',off:''}}">
                    Status</th>
            </tr>
        </thead>
    </table>
</body>

</html>
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!