ExtJS Store / Grid reset - PullRequest
       60

ExtJS Store / Grid reset

3 голосов
/ 03 декабря 2011

У меня есть кнопка, которая при нажатии создаст JSONstore, используя предоставленный URL. Затем магазин загружается в сетку. Если кнопка нажата снова, она снова добавляет всю информацию (поэтому она указана дважды). Я хочу, чтобы, когда пользователь нажимает кнопку, он очищал магазин / сетку, а затем добавлял все.

Есть идеи, как этого добиться?

Спасибо

EDIT ExtJS 3

datasetStore.removeAll();
datasetStore.loadData(datasetsArray);

Ответы [ 2 ]

5 голосов
/ 03 декабря 2011

Будет полезно увидеть некоторые примеры кода (и версию extjs), но вы можете просто использовать метод loadRecords (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.JsonStore-method-loadRecords):

)
grid.store.loadRecords([array of your new records here], {addRecords: false});

{addRecords: false} указывает, что существующие записи будут удалены первыми.

1 голос
/ 18 декабря 2013

для ExtJs4: просто делайте store.loadRecords ([массив]).В версии 4.2.2 store.proxy не имеет метода clear (), так что он не работает (это было предложено в других примерах в других местах ...)

Если вы хотите полностью очистить хранилище и прокси, передайтепустой массив.Это удобно, потому что в некоторых случаях вы хотите очистить хранилище, а removeAll только перемещает данные в массив, управляемый внутренне в хранилище, поэтому при последующей синхронизации в gridStore, который показывает только 1 запись, ваш контроллер может быть заполненкуча записей помечена для удаления !!

...