Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.02.2011, 08:55
Интересующийся
Отправить личное сообщение для Костэн Посмотреть профиль Найти все сообщения от Костэн
 
Регистрация: 09.02.2011
Сообщений: 17

Доступ ко всем записям грида
Доброго времени суток. Уже перепахал немалое количество сайтов, но нигде в доступной форме не объясняется, как можно сохранить в массив все записи грида и отправить его на сервер. Надеюсь, что на этом форуме найдуться знающие люди
Ответить с цитированием
  #2 (permalink)  
Старый 09.02.2011, 10:38
VKS VKS вне форума
Профессор
Отправить личное сообщение для VKS Посмотреть профиль Найти все сообщения от VKS
 
Регистрация: 24.09.2010
Сообщений: 178

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+"]";


Ну а дальше отправляй на сервер любым удобным тебе способом
Ответить с цитированием
  #3 (permalink)  
Старый 09.02.2011, 11:30
Интересующийся
Отправить личное сообщение для Костэн Посмотреть профиль Найти все сообщения от Костэн
 
Регистрация: 09.02.2011
Сообщений: 17

Сообщение от VKS Посмотреть сообщение
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+"]";


Ну а дальше отправляй на сервер любым удобным тебе способом
Большое спасибо за помощь. Скажите, каким образом можно получить доступ к одному полю и сохранить его записи в обычном текстовом виде, а не JSON - формате ?
Ответить с цитированием
  #4 (permalink)  
Старый 09.02.2011, 15:15
VKS VKS вне форума
Профессор
Отправить личное сообщение для VKS Посмотреть профиль Найти все сообщения от VKS
 
Регистрация: 24.09.2010
Сообщений: 178

Получить элемент из store
Ответить с цитированием
  #5 (permalink)  
Старый 09.02.2011, 18:20
Интересующийся
Отправить личное сообщение для Костэн Посмотреть профиль Найти все сообщения от Костэн
 
Регистрация: 09.02.2011
Сообщений: 17

Сообщение от VKS Посмотреть сообщение
Получить элемент из store
Чтобы не поднимать старых тем - напишу тут.
var recIndex = store.find('id', Id);
var rec = store.getAt(recIndex);

Если я правильно понял, записи из одного поля хранятся в переменной rec. Мне не понятно присутствие второго параметра в функции find. Первый - это наименование поля, из которого я хочу выбрать данные, а вот про второй ничего на ум не приходит. Подскажите, для чего он нужен ?
Ответить с цитированием
  #6 (permalink)  
Старый 09.02.2011, 22:09
Интересующийся
Отправить личное сообщение для Костэн Посмотреть профиль Найти все сообщения от Костэн
 
Регистрация: 09.02.2011
Сообщений: 17

Первая версия - в качестве второго параметра функции find должнен быть порядковый номер записи, находящийся в поле, указанном в первом параметре ?
Ответить с цитированием
  #7 (permalink)  
Старый 10.02.2011, 11:22
VKS VKS вне форума
Профессор
Отправить личное сообщение для VKS Посмотреть профиль Найти все сообщения от VKS
 
Регистрация: 24.09.2010
Сообщений: 178

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', 'Вася');
Ответить с цитированием
  #8 (permalink)  
Старый 10.02.2011, 20:01
Интересующийся
Отправить личное сообщение для Костэн Посмотреть профиль Найти все сообщения от Костэн
 
Регистрация: 09.02.2011
Сообщений: 17

Что то не получается. Допустим у моего грида в store есть поле user, в него загружена одна запись - 'Сидоров Сидор Сидорович'. Для тестирования я пишу код:
var str = this.grp.getStore();
var find = str.find('user', 'Сидоров Сидор Сидорович');					
Ext.Msg.alert('', find);

Когда появляется alert, в него не заносится необходимое значение. Может быть надо применить ещё какой - нибудь метод ?
И ещё один вопрос - если я не знаю, какие значения будут в выбранном поле, как мне выбрать их всех ? Если есть какая - нибудь литература на эту тему то подскажите пожалуйста
Ответить с цитированием
  #9 (permalink)  
Старый 11.02.2011, 10:32
VKS VKS вне форума
Профессор
Отправить личное сообщение для VKS Посмотреть профиль Найти все сообщения от VKS
 
Регистрация: 24.09.2010
Сообщений: 178

var str = this.grp.getStore();
var find = str.find('id', 1);
var rec = str.getAt(find);        
console.log(rec); // rec - это объект, доступ к записи через rec.user
Ответить с цитированием
  #10 (permalink)  
Старый 15.02.2011, 16:09
Интересующийся
Отправить личное сообщение для Костэн Посмотреть профиль Найти все сообщения от Костэн
 
Регистрация: 09.02.2011
Сообщений: 17

Сообщение от VKS Посмотреть сообщение
var str = this.grp.getStore();
var find = str.find('id', 1);
var rec = str.getAt(find);        
console.log(rec); // rec - это объект, доступ к записи через rec.user
Ещё раз большое спасибо Вам за помощь
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в jQuery получить доступ к фрейму или самому верхнему окну? Neokortex jQuery 7 20.12.2010 10:38
Доступ к локальному котексту Aleko Общие вопросы Javascript 2 28.04.2010 12:46