سؤال

لدي مشكلة في تكوين روكسباندر لشبكتي.عندما تعرض الشبكة ، يتم فتح الموسع بالفعل لكل صف ولا يوجد شيء بداخله.عند النقر على الرمز الخاص به يتم إنشاء الخطأ التالي:نكستبد هو لاغية.لقد وجدت مشكلة مشابهة جدا هنا http://www.sencha.com/forum/showthread.php?185837-Grid-Panel-PlugIn-Rowexpander-nextBd-is-null ولكن الحل لا يعمل بالنسبة لي وما زلت لا تحصل عليه لماذا لا يمكن تمرير تكوين البرنامج المساعد في طريقة إينيتكومبوننت:

هنا هو رمز الشبكة الخاص بي:



    Ext.define('GSIP.view.plans.PlanReqList' ,{
        extend: 'Ext.grid.Panel',
        alias : 'widget.gsip_devplan_list',
        id: 'gsip_plan_list',
        plugins: [{
            ptype: 'rowexpander',
            rowBodyTpl : [
                'Nazwa:{name}'
            ]
        }],
        //title:i18n.getMsg('gsip.view.PlanReqList.title'), 
        layout: 'fit',
        initComponent: function() {


            this.store = 'DevPlan';

    //      this.plugins = [{
    //            ptype: 'rowexpander',
    //            rowBodyTpl : [
    //                {name}
    //            ]
    //        }];

            this.features = [{ftype:'filters', encode:false, local:true},{ftype:'grouping'}];

            this.tbar = [{
                xtype:'commandbutton',
                id: 'newReq',
                iconCls:'icon-application_add',
                text: i18n.getMsg('gsip.view.plans.PlanReqList.addReq'),
                command: 'newReq',
            }];

            this.viewConfig = {
                forceFit:true,
                getRowClass: function(record, index) {
                    var c = record.get('elapsedPercent');
                    if (c >= 0) {                   
                        return 'elapsed-normal';
                    } 
                }
            }

            this.columns = [
                {header: "Id", dataIndex: "id", width:50, sortable: true, filter:{type:'numeric'}},
                {header: i18n.getMsg('gsip.view.plans.PlanReqList.column.name'), dataIndex: "name", flex:1, sortable: true, filter:{type:'string'} },

                }
            ];


            this.callParent(arguments);


        },

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

المحلول

ال rowexpander البرنامج المساعد يجعل من استخدام ميزة تسمى rowbody.

في الخاص بك initComponent() أنت تتجاوز this.features (والتي تشمل بالفعل rowbody) مع هذا الخط:

this.features = [{ftype:'filters', encode:false, local:true},{ftype:'grouping'}];

وهكذا فإن rowbody لم يتم تضمين ميزة;وهكذا فإن .x-grid-rowbody-tr لا يتم حقن الطبقة;وهكذا rowexpander لا يمكن العثور على مثل هذه الفئة ل nextBd ويعود لاغية.

يجب أن تحاول:

var iNewFeatures = [{ftype:'filters', encode:false, local:true},{ftype:'grouping'}];
this.features = iNewFeatures.concat( this.features );

أخيرا ، لا يمكن بدء المكونات الإضافية في InitComponent(), ، يمكنك إما إعلانها كتكوينات ، أو داخل المنشئ.انظر هذا الموضوع لمزيد من المعلومات.

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