2013-02-26 3 views

ответ

3

вы должны установить idProperty вашего прокси-сервера или на вашу модель.

var myStore = Ext.create('Ext.data.Store', { 
    proxy: { 
     type: 'ajax', 
     url: '/myUrl', 
     reader: { 
      idProperty: 'Id' 
     } 
    }, 
    model: 'myModel' 
}); 
+0

Это помогает, но когда я установил ** idProperty ** магазина, сетка будет отображаться фильтруется, но я хочу, чтобы отфильтровать его и удалить дубликаты строки, когда я нажимаю кнопку! Могу ли я изменить значение свойства ** idProperty для магазина **? Я попробовал 'Ext.getCmp ('My_grid'). GetStore(). Set (idProperty, 'Id')', но это неправильно! – Aminesrine

+0

У этого магазина швов нет метода 'set', кроме того,' idProperty' - это конфигурация для чтения/модели. вы должны сделать так, как показано выше. –

+0

Могу ли я создать сложный idProperty? Я имею в виду значения буксировки в том же idProperty – Aminesrine

1

Этот фрагмент кода работает для вас с надеждой:

Очень важно, чтобы вы объявили ваш магазин и сетку с этим. Например, «this.store = ...»

//Listener on the button removes the duplicated rows 
     this.button.on('click', function(){ 
      this.store.each(function(record){ 
       //This is necessary because if this record was removed before 
       if(record !== undefined){ 
        //Find all records which have the same name like this record 
        var records = record.store.query('name', record.get('name')); 

        //Remove all found records expect the first record 
        records = records.each(function(item, index){ 
         //Don't delete the first record 
         if(index != 0){ 
          item.store.remove(item);  
         }  
        });  
       } 
      }); 
     }, this); 
Смежные вопросы