ظهر الصفوف المحذوفة بعد إعادة تحميل الشبكة

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

  •  29-09-2019
  •  | 
  •  

سؤال

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

هذه هي الوظيفة التي تخلق الشبكة:

// create the data store
var store = new Ext.data.Store({
    proxy: new Ext.ux.data.PagingMemoryProxy(myData),
    remoteSort:true,
    sortInfo: {field:'del', direction:'DESC'},

    reader: new Ext.data.ArrayReader({
        fields: [
           {name: 'id'},
           {name: 'name'},
           {name: 'category'},
           {name: 'price', type: 'float'},
           {name: 'active', type: 'int'},
           {name: 'actions', type:'text'}
        ]
    })
});

وهنا هي وظيفة إزالة:

        buttons: [{
        text: 'Add',
        iconCls: 'silk-add',
        handler: this.onAdd

    }, '-', {
        text: 'Delete',
        iconCls: 'silk-delete',
                   handler: function(sm, rowIdx,r){

            var s = grid.getSelectionModel().getSelections();
            for(var i = 0, r; r = s[i]; i++){

              // store.remove(r);
               var index = store.data.indexOf(r);
               if(index > -1){
                r.join(null);
                store.data.removeAt(index);

            }
                store.modified.remove(r);

            if(index > -1){
                store.fireEvent('remove', store, r, index);     
            } 
                store.destroyRecord(store, r, index);
            }

           store.reload();
        },
    }]
هل كانت مفيدة؟

المحلول

عند إعادة تحميل الشبكة باستخدام طريقة الشبكة. store.reload () ، سيقوم المتجر بإعادة تحميل البيانات من المصدر ، لذلك في هذه الحالة ، يبدو أنك تستخدم البيانات المحلية (سلسلة صفيف أو JSON؟). نعم ، أنت تحذف السجل من المتجر ، ولكن بعد ذلك عن طريق الاتصال بإعادة التحميل ، تقوم بإعادة إدخال هذه السجلات. أفضل رهان لك هو القيام بشيء حيث تقوم بحذف القيم من الكائن "MyData" ثم استدعاء إعادة التحميل. يجب أن يتخلص من السجلات لك.

نصائح أخرى

لقد وجدت الحل ، وكيفية حذف من MyData لـ Ex: mydata.splice (1،1) ؛

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