EasyUI Forum
May 21, 2024, 01:53:12 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Conflict between enableFilter and enableCellEditing  (Read 3311 times)
poeziafree
Jr. Member
**
Posts: 69


View Profile Email
« on: December 19, 2021, 11:24:55 AM »

Hello,

I have an issue with using the DataGrid filtering and cell editing at the same time.

When I click one of the cells, the cell gets yellowish color (gets selected), and at this time, it is impossible to type anything in the filter input field.

So, if the cell is selected, typing in the column filter input is impossible.

Please, advise me what to do...

Here is my code

Code:
var dg = $('#operatorsIndex').datagrid();
            dg.datagrid({
                url: '/saoperatoro/dataGrids.php?saoperatoro',
                rownumbers: true,
                loadMsg: 'მონაცემები იტვირთება...',
                emptyMsg: 'მონაცემები არ მოიძებნა',
                clickToEdit: false,
                dblclickToEdit: true,
                checkbox: true,
                fit: true,
                nowrap: true,
                remoteFilter: true,
                remoteSort: true,
                clientPaging: false,
                pagination: true,
                pageSize: 10,
                pageList: [5, 10, 20, 50],
                sortName: 'id',
                idField: 'id',
                sortOrder: 'desc',
                frozenColumns: [
                    [{
                            field: 'ck',
                            checkbox: true,
                            width: 100
                        },
                        {
                            field: 'id',
                            title: '<b>ოპერატორი</b>',
                            width: 100,
                            sortable: true,
                            order: 'desc',
                            styler: function(value,row,index){
        return {class:'see-details',style:'cursor:help'}
                }
                        },
                        {
                            field: 'user_name',
                            title: 'სახელი და გვარი',
                            width: 100
                        }
                    ]
                ],
                columns: [
                    [{
                            field: 'departamenti',
                            title: 'დეპარტამენტი',
                            width: 100,
                            sortable: true,
                            order: 'desc'
                        },
                        {
                            field: 'email',
                            title: 'Name',
                            width: 100
                        },
                        {
                            field: 'active',
                            title: 'სტატუსი',
                            width: 100,
                            styler: function(value,row,index){
                            if (value==0)
                            {
        return 'background-color: red';
                            }
                },
                            formatter: function(value, row) {
                                if (value == 1)
                                    return 'აქტიური';
                                else if (value == 0)
                                    return 'შეზღუდული';
                            },
                            editor: {
                                type: 'combobox',
                                options: {
                                    valueField: 'label',
                                    textField: 'value',
                                    data: [{
                                        label: '0',
                                        value: 'შეზღუდული'
                                    }, {
                                        label: '1',
                                        value: 'აქტიური'
                                    }],
                                    required: true
                                }
                            }

                        },
                        {
                            field: 'pin',
                            title: 'პ/ნ',
                            width: 100
                           
                        },
                        {
                            field: 'threshold',
                            title: 'გეგმა',
                            width: 100,
                            editor: {
                                type: 'numberspinner',
                                options: {
                                    min: 1,
                                    max: 1000000,
                                    editable: true,
                                    required: true
                                }
                            }
                        },
                        {
                            field: 'rating',
                            title: 'რეიტინგი',
                            width: 100
                        },
                        {
                            field: 'date_last',
                            title: 'ბოლო აქტივობა',
                            width: 120,
                            formatter: function(value, row) {
                                return moment.utc(value * 1000).format('DD.MM.YYYY HH:mm');
                            }
                        },

                    ]
                ],

                toolbar: [{
                        iconCls: 'icon-add',
                        tooltip: 'მომხმარებლის შექმნა',
                        handler: function() {

                            var id = 'create-operator';
                            var title = '<uniqueID>' + id + '<\/uniqueID> მომხმარებლის შექმნა';


                            var tabPanel = $('#wu-tabs');
                            if (tabPanel.tabs('exists', title)) {
                                tabPanel.tabs('select', title);
                                return false;
                            }



                            $('#windowPopUp').window({
                                title: 'საოპერატორო: მომხმარებლის შექმნა',
                                width: '80%',
                                height: 600,
                                modal: true,
                                resizable: true,
                                closeAnimation: 'hide',
                                minimize: 'animate',
                                collapsible: false,
                                href: '/saoperatoro/create_user.php',
                                footer: '#windowPopUpFooter',
                               
                                onMinimize: function(){
                        var id = 'create-operator';
                                var title = '<uniqueID>' + id + '<\/uniqueID> მომხმარებლის შექმნა';
                        var tabPanel = $('#wu-tabs');


                                    if (tabPanel.tabs('exists', title)) {
                                        tabPanel.tabs('select', title);
                                        return false;
                                    }

tabPanel.tabs('add', {
id: id,
            title: title,
content: '<div id="tabs-window" style="position:relative;width:100%;height:100%;overflow:auto"></div>',
fit: true,
closable: true
})
$('#windowPopUp').contents().appendTo('#tabs-window');
}
                               
                               
                               
                            });


                        }
                    }, '-', {
                        iconCls: 'icon-print',
                        tooltip: 'ბეჭვდა',
                        handler: function() {
                            var rows = $('#operatorsIndex').datagrid('getData').filterRows;
                            dg.datagrid('print', {
                                title: 'DataGrid',
                                caption: 'ოპერატორების სია',
                                rows: rows,
                                fields: ['id', 'user_name', 'departamenti', 'pin', 'rating']
                            });
                        }
                    }, '-', {
                        iconCls: 'icon-save',
                        tooltip: 'XLS ფორმატით ჩამოტვირთვა',
                        handler: function() {
                            dg.datagrid('toExcel', {
                                filename: 'DataGrid.xls',
                                worksheet: 'Worksheet',
                                caption: 'ოპერატორების სია',
                                fields: ['id', 'user_name', 'departamenti', 'pin', 'rating']
                            });
                        }
                    }, '-', {
                        iconCls: 'icon-filter',
                        disabled: true,
                        id: 'btn',
                        tooltip: 'ფილტრის გაუქმება',
                        handler: function() {
                            dg.datagrid('removeFilterRule');
                            dg.datagrid('doFilter');
                           
                        }
                    }, '-', {
                        iconCls: 'icon-filter',
                        disabled: true,
                        id: 'selected',
                        tooltip: 'ფილტრის გაუქმება',
                        handler: function() {
                            dg.datagrid('removeFilterRule');
                            dg.datagrid('doFilter');
                           
                        }
                    }
                ],
                onLoadSuccess: function(data) {
                   
                   
                   
                    $(this).datagrid('getPanel').find('.l-btn').each(function() {
                    var opts = $(this).linkbutton('options');
                    $('.sbtn').linkbutton({
                    iconCls: 'icon-search'
                    });
                    });
   
                    $(this).datagrid('getPanel').find('.l-btn').each(function() {
                        var opts = $(this).linkbutton('options');
                        if (opts.tooltip) {
                            $(this).tooltip({
                                content: opts.tooltip
                            })
                        }
                    });


                    var opts = $(this).datagrid('options');

                    if (opts.filterRules.length === 0) {
                        $(this).datagrid('getPanel').find('#btn').linkbutton('disable');
                    } else {
                        $(this).datagrid('getPanel').find('#btn').linkbutton('enable');
                    }

                },
                onAfterEdit: function(index, row, changes) {
                    console.log(changes);
                    dg.datagrid('updateRow', index);
                },
                onDblClickCell: function(index,field,value){
         if (field=='id')
         {
             alert('eee')
         }
            },
           
            onCheck: function(index,row){
                var ids = [];
                var rows = dg.datagrid('getChecked');
                for (var i = 0; i < rows.length; i++) {
                ids.push(rows[i].id);
                }
                //console.log(ids);
                $(this).datagrid('getPanel').find('#selected').linkbutton('enable');
                },
               
                onCheckAll: function(index,row){
                var ids = [];
                var rows = dg.datagrid('getChecked');
                for (var i = 0; i < rows.length; i++) {
                ids.push(rows[i].id);
                }
                //console.log(ids);
                var count = $(this).datagrid('getChecked').length;
                $(this).datagrid('getPanel').find('#selected').linkbutton('enable');
                },
               
                onUncheckAll: function(index,row){
                var ids = [];
                var rows = dg.datagrid('getChecked');
                for (var i = 0; i < rows.length; i++) {
                ids.push(rows[i].id);
                }
                //console.log(ids);
                var count = $(this).datagrid('getChecked').length;
                $(this).datagrid('getPanel').find('#selected').linkbutton('disable');
                },
               
                onUncheck: function(index,row){
                var ids = [];
                var rows = dg.datagrid('getChecked');
                for (var i = 0; i < rows.length; i++) {
                ids.push(rows[i].id);
                }
                //console.log(ids);
                var count = $(this).datagrid('getChecked').length;
                if (count==0)
                {
                $(this).datagrid('getPanel').find('#selected').linkbutton('disable');
                }
                }


            });


           


            //enable filter
            dg.datagrid('enableFilter', [{
                    field: 'rating',
                    type: 'numberbox',
                    options: {
                        precision: 1
                    },
                    op: ['equal', 'notequal', 'less', 'greater']
                }, {
                    field: 'threshold',
                    type: 'numberbox',
                    options: {
                        precision: 1
                    },
                    op: ['equal', 'notequal', 'less', 'greater']
                },
                {
                    field: 'date_last',
                    type: 'datebox',
                    op: ['equal', 'notequal', 'less', 'lessorequal', 'greater', 'greaterorequal'],
                    options: {
                        panelWidth: '240',
                        editable: false,
                        formatter: function(date) {
                            var y = date.getFullYear();
                            var m = date.getMonth() + 1;
                            var d = date.getDate();
                            return (d < 10 ? ('0' + d) : d) + '.' + (m < 10 ? ('0' + m) : m) + '.' + y;
                        },
                        parser: function(s) {
                            if (!s) return new Date();
                            var ss = (s.split('.'));
                            var y = parseInt(ss[2], 10);
                            var m = parseInt(ss[1], 10);
                            var d = parseInt(ss[0], 10);
                            if (!isNaN(y) && !isNaN(m) && !isNaN(d)) {
                                return new Date(y, m - 1, d);
                            } else {
                                return new Date();
                            }
                        },

                        onShowPanel: function() {
                            var c = $(this).datebox('calendar');
                            c.calendar({
                                validator: function(date) {
                                    var now = new Date();
                                    var d1 = new Date(now.getFullYear(), now.getMonth(), now.getDate());
                                    var d2 = new Date(now.getFullYear(), now.getMonth(), now.getDate());
                                    return date <= d2;
                                }
                            })
                        }
                    }
                },
                {
                    field: 'departamenti',
                    type: 'combobox',
                    options: {
                        panelHeight: 'auto',
                        data: [{
                            value: 'ტექნიკური სამსახური',
                            text: 'ტექ. სამსახური'
                        }, {
                            value: 'შესყიდვები',
                            text: 'შესყიდვები'
                        }, {
                            value: 'გაყიდვები',
                            text: 'გაყიდვები'
                        }, {
                            value: 'ლოჯისტიკა',
                            text: 'ლოჯისტიკა'
                        }],
                        onChange: function(value) {
                            if (value == '') {
                                dg.datagrid('removeFilterRule', 'departamenti');
                            } else {
                                dg.datagrid('addFilterRule', {
                                    field: 'departamenti',
                                    op: 'equal',
                                    value: value
                                });
                            }
                            dg.datagrid('doFilter');
                        }
                    }
                }, {
                    field: 'active',
                    type: 'combobox',
                    options: {
                        panelHeight: 'auto',
                        data: [{
                            value: '0',
                            text: 'შეზღუდული'
                        }, {
                            value: '1',
                            text: 'აქტიური'
                        }],
                        onChange: function(value) {
                            if (value == '') {
                                dg.datagrid('removeFilterRule', 'active');
                            } else {
                                dg.datagrid('addFilterRule', {
                                    field: 'active',
                                    op: 'equal',
                                    value: value
                                });
                            }
                            dg.datagrid('doFilter');
                        }
                    }
                }

            ]);


           dg.datagrid('enableCellEditing').datagrid('gotoCell', {
                index: 0,
                field: 'id'
            });
Logged
jarry
Administrator
Hero Member
*****
Posts: 2264


View Profile Email
« Reply #1 on: December 21, 2021, 12:47:01 AM »

This issue has been fixed. Please download the newest 'datagrid-filter.js' extension form https://www.jeasyui.com/extension/datagrid_filter.php
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!