2013-07-24 18 views
6

Mam GridStore w Extjs, który może przechowywać rekordy z dwiema kolumnami siatki. Mam problem, gdy istnieje jeden rekord w siatce, jeśli usunę sieć, która została pomyślnie usunięta po stronie serwera, ale nadal istnieje w siatce.Jak wyczyścić siatkę w Extjs

Przykładowy kod:

xtype: 'grid', 
    store: 'SampleStore', 
    border: false, 
    width : 542, 
    ref: '../sampleGrid', 
    id: 'sampleGrid', 
    columns: [ 
     { 
     xtype: 'gridcolumn', 
     dataIndex: 'name', 
     header: 'Name', 
     sortable: true, 
    ............. 
    view: new Ext.grid.GridView({ 
    forceFit: true 
    }) 

Dzięki za pomoc z góry.

+0

Nie użyłbym opcji forceFit w widoku. Zaleca się stosowanie flexu na samej siatce. (niezwiązane z twoim problemem, ale jest to sugestia) – VDP

Odpowiedz

9

Upewnij używasz:

grid.getStore().remove(record); //remove record from grid 
grid.getStore().sync(); //sync with server 

Jeśli chcesz usunąć wszystkie elementy, zrobić:

grid.getStore().removeAll(); 
grid.getStore().sync(); 

Ale uważaj! To wszystko usunie!

+0

Nie zapomnij odświeżyć siatki po wyczyszczeniu magazynu. Jeśli tego nie zrobisz, może się zdarzyć dziwne zachowanie. grid.view.refresh() – monstergold

0

Ten pracował dla mnie:

Ext.ComponentQuery.query('#yourGrid')[0].getStore().removeAll(); 

Nadzieję, że to pomaga.