تحويلة للجميع.شبيبة لا يستجيب عند عرض / إخفاء أعمدة الشبكة

StackOverflow https://stackoverflow.com//questions/24006785

  •  20-12-2019
  •  | 
  •  

سؤال

جريت إلى قضية فيها تحويلة جميع.ملف جس معلقة عند محاولة إظهار / إخفاء أعمدة الشبكة.

أنا باستخدام إكستجس 4.1.2 على موزيلا فايرفوكس 25.0.نظام التشغيل هو أوبونتو 12.10 ، فقط لتوضيح.

عندما يقوم المستخدم بتحرير صف عبر المكون الإضافي ، يتم عرض الحقول المخفية فقط حتى يتمكن المستخدم من تحريرها.بعد اكتمال التحرير ، تصبح هذه الأعمدة مخفية مرة أخرى.

تحكم.شبيبة:

var hiddenColumns = []; //global array for storing columns

init: function() {
    this.control({
    ...
'myGrid': {
    beforeedit: function() {
        me.columnsVisibility('show');
    },
    afterrender: function(){
        var me      = this,
        formDataPanel   = me.getFormDataPanel(),
        activeGrid      = formDataPanel.getLayout().getActiveItem();

        for (i=0; i < activeGrid.columns.length; i++) {
        if (activeGrid.columns[i].hidden) {
            Ext.Array.push(hiddenColumns, activeGrid.columns[i]);
        }
        }
    },
            edit: function(editor, e) {
        var me      = this,
        usersStore      = me.getStore('Users'),
        alias           = me.getUserAlias(),
        record          = usersStore.findRecord('email', alias, false, true, true),
        fdupdate        = record.get('fdupdate');

        me.columnsVisibility('hide');
        if (fdupdate == 't') {
        try {
            e.store.sync();
        }
        catch (e) { }
        e.record.commit();
        } else {
        var store = me.getStore('Inspection');
        store.rejectChanges();
        Ext.Msg.alert('Alert!','This function is not currently available for you');
        }

            },
            ...
    }
   });

},
...
columnsVisibility: function(visible){
for (var i=0; i < hiddenColumns.length; i++) {
    if (visible == 'hide') {
    hiddenColumns[i].hide();
    } else if (visible == 'show') {
    hiddenColumns[i].show();
    }
}
},
...

(مايغريد).شبيبة:

   initComponent: function() {
        var filters = {
        ftype: 'filters',
        // encode and local configuration options defined previously for easier reuse
        encode: false, // json encode the filter query
        local: true
    },
Ext.apply(this, {
            title: 'Inspection',
            id: 'inspection', // This is required since title can be changed by filter functions to update status of the grid.
        store: 'Inspection',
        features: [filters],
        selModel: Ext.create('Ext.selection.CheckboxModel', { checkOnly: true }),
            plugins: [
                Ext.create('Ext.grid.plugin.RowEditing', {
                    clicksToEdit: 2
                })
            ],
        columns: [{
        text: 'ID',
        width: 35,
        dataIndex: 'id'
        },{
        text: 'Record Name',
        dataIndex: 'record_name',
        width: 70,//flex: 1,
        hidden: true,
        editor: {
            queryMode: 'local',
            displayField: 'record_name',
            valueField: 'record_name',
            editable: false
        },
        filter: {
            type: 'string'      
        }
        },{
        text: 'Date Created',
        dataIndex: 'date_created',
        width: 150,
        filter: {
            type: 'string'      
        }
        }]
    });
this.callParent(arguments);
    }
});

في حين أن الكود الخاص بي يعمل على النحو المنشود، فإنه يتسبب في تعليق المتصفح لفترة معتدلة من الوقت قبل مطالبتي برسالة تخبرني عن أن البرنامج النصي مشغول/لا يستجيب (Script: http://localhost/lib/ext-4.1.2/ext-all.js:18)

أنا غير متأكد ما إذا كانت هذه المشكلة تكمن في نسختي من إكستجس ، رمز بلدي أو متصفحي.إذا كان أي شخص يمكن أن تساعد سيكون موضع تقدير كبير.

هل كانت مفيدة؟

المحلول

إخفاء وإظهار يمكن أن تكون عمليات مكلفة لأنها تنطوي على التلاعب دوم وتدفقات المتصفح اللاحقة.لبضعة صفوف فإنه لا يخلق تأخير كبير ولكن كما ينمو عدد من الصفوف يمكنك تجربة التباطؤ.

ربما أفكر في فتح نافذة تحويلة منفصلة مع نموذج يحتوي على جميع الحقول للتحرير ، وعدم إظهار وإخفاء أعمدة الكل صفوف الشبكة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top