Доступ ко всем записям грида
Доброго времени суток. Уже перепахал немалое количество сайтов, но нигде в доступной форме не объясняется, как можно сохранить в массив все записи грида и отправить его на сервер. Надеюсь, что на этом форуме найдуться знающие люди :help:
|
var store = grid.getStore();
var json=[];
store.each(function(store){
json += Ext.util.JSON.encode(store.data) + ',';
});
if (json.length > 0) {
json = json.substring(0, json.length - 1);
}
//make it an array
json="["+json+"]";
Ну а дальше отправляй на сервер любым удобным тебе способом |
Цитата:
|
|
Цитата:
var recIndex = store.find('id', Id);
var rec = store.getAt(recIndex);
Если я правильно понял, записи из одного поля хранятся в переменной rec. Мне не понятно присутствие второго параметра в функции find. Первый - это наименование поля, из которого я хочу выбрать данные, а вот про второй ничего на ум не приходит. Подскажите, для чего он нужен ? |
Первая версия - в качестве второго параметра функции find должнен быть порядковый номер записи, находящийся в поле, указанном в первом параметре ?
|
var store = new Ext.data.JsonStore({
totalProperty: 'total',
root: 'data',
url: url,
fields: [{name: 'id'}, {name: 'name'}]
});
// 1й параметр - это имя из набора fields
// 2й параметр - значение из записей store, которое это имя может содержать
var recIndex = store.find('id', 1);
var recIndex = store.find('name', 'Вася');
|
Что то не получается. Допустим у моего грида в store есть поле user, в него загружена одна запись - 'Сидоров Сидор Сидорович'. Для тестирования я пишу код:
var str = this.grp.getStore();
var find = str.find('user', 'Сидоров Сидор Сидорович');
Ext.Msg.alert('', find);
Когда появляется alert, в него не заносится необходимое значение. Может быть надо применить ещё какой - нибудь метод ? И ещё один вопрос :) - если я не знаю, какие значения будут в выбранном поле, как мне выбрать их всех ? Если есть какая - нибудь литература на эту тему то подскажите пожалуйста :) |
var str = this.grp.getStore();
var find = str.find('id', 1);
var rec = str.getAt(find);
console.log(rec); // rec - это объект, доступ к записи через rec.user
|
Цитата:
|
| Часовой пояс GMT +3, время: 16:25. |