Доступ ко всем записям грида
Доброго времени суток. Уже перепахал немалое количество сайтов, но нигде в доступной форме не объясняется, как можно сохранить в массив все записи грида и отправить его на сервер. Надеюсь, что на этом форуме найдуться знающие люди :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, время: 21:24. |