Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.02.2015, 17:05
Аспирант
Отправить личное сообщение для Risa Посмотреть профиль Найти все сообщения от Risa
 
Регистрация: 21.10.2014
Сообщений: 47

Как в extJS5 создать простой пустой store?
В extJS3 это делалось так:

Ext.create('Ext.grid.Panel',{
store: new Ext.data.Store(),
Как это делать в ExtJS5? Правильно ли я понимаю, что обязательно задавать model и proxy? Какие создавать аналогичные тому, что было в ExtJS3?
Ответить с цитированием
  #2 (permalink)  
Старый 03.02.2015, 09:04
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

в четверке эт делалось так:
<html>
	<head>
		<link  href="http://docs.sencha.com/extjs/4.2.2/extjs-build/resources/css/ext-all-gray-debug.css" rel="stylesheet"/>
		<script src="http://docs.sencha.com/extjs/4.2.2/extjs-build/ext-all.js"></script>
		<script>
		
var myStore = Ext.create('Ext.data.Store', {
     fields: ['id', 'data'],
     data: [{
		id: 1, data: 'data 1'
	 }, {
		id: 2, data: 'data 2'
	 }]
 });
console.log(myStore.getCount());
console.log(myStore.getAt(0).get('data'));
console.log(myStore.getAt(1).get('data'));
		</script>
	</head>
    <body></body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 03.02.2015, 13:19
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Я и в пятерке так делаю.
Ответить с цитированием
  #4 (permalink)  
Старый 03.02.2015, 13:58
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

model автоматически создаётся на основе fields, proxy создаётся с типом memory
Ответить с цитированием
  #5 (permalink)  
Старый 04.02.2015, 19:27
Аспирант
Отправить личное сообщение для Risa Посмотреть профиль Найти все сообщения от Risa
 
Регистрация: 21.10.2014
Сообщений: 47

Сообщение от skrudjmakdak
в четверке эт делалось так:
Это понятно, спасибо. Непонятно, что делать с new Ext.data.Store(). То есть без fields. Пока что написала Ext.create('Ext.data.Store', {fields:[]}).
Ответить с цитированием
  #6 (permalink)  
Старый 05.02.2015, 11:00
Аватар для Ex_Soft
Профессор
Отправить личное сообщение для Ex_Soft Посмотреть профиль Найти все сообщения от Ex_Soft
 
Регистрация: 19.12.2009
Сообщений: 164

Может Вы, все-таки, наконец-то, огласите, так сказать, конечную цель предприятия? Задлянафига Вам грид с пустым store'м? Мо, Вы идете не тем путем?
__________________
"Helo, word!" - 17 errors 56 warnings

Последний раз редактировалось Ex_Soft, 05.02.2015 в 11:03.
Ответить с цитированием
  #7 (permalink)  
Старый 05.02.2015, 15:19
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Сообщение от Risa
Непонятно, что делать с new Ext.data.Store(). То есть без fields
Да, это правда как-то неожиданно. Создавая грид, вы должны указать настройки columns. У каждой колонки есть свойство dataIndex, которое привязывает колонку к полю стора по имени. Заполняете стор данными, автоматически заполнится и грид. А что такое грид без данных? ...Для вёрстки существуют контейнеры...
Ответить с цитированием
  #8 (permalink)  
Старый 05.02.2015, 22:18
Аспирант
Отправить личное сообщение для Risa Посмотреть профиль Найти все сообщения от Risa
 
Регистрация: 21.10.2014
Сообщений: 47

Сообщение от novikov Посмотреть сообщение
Да, это правда как-то неожиданно. Создавая грид, вы должны указать настройки columns. У каждой колонки есть свойство dataIndex, которое привязывает колонку к полю стора по имени. Заполняете стор данными, автоматически заполнится и грид. А что такое грид без данных? ...Для вёрстки существуют контейнеры...
Грид заполняется данными из бд. То есть пока не было запроса к бд грид пустой и даже названия колонок нам не известны.

Последний раз редактировалось Risa, 05.02.2015 в 22:22.
Ответить с цитированием
  #9 (permalink)  
Старый 06.02.2015, 12:32
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Ага. Понятно. Динамически гриды, значит, создавать будете! Ну тогда вам после запроса к бд, нужно выполнить реконфиг существующей таблицы.

Ext.grid.Panel.reconfigure([store], [columns])

Либо создать обработчик события в каком-нибудь контроллере, который запросит через Ext.Ajax.request({}) данные с сервера, динамически сформирует конфиг для стора и грида и сокрмит это всё в Ext.create(). Потом можно будет найти контейнер грида в приложении, удалить из него старый грид (или панель-заглушку) и поставить на его место новый грид.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать многомерный пустой или как не создавать. PashPP Общие вопросы Javascript 6 02.08.2012 21:49
Как создать js файл в NODE.js develka AJAX и COMET 5 14.06.2012 01:30
Как получить URL, в случае совпадения с условиями - создать div? Intruder Общие вопросы Javascript 3 27.05.2012 02:10
Есть Ext.grid.Panel. Как в store передать параметр? tigeralhimik ExtJS 7 29.03.2012 20:38
как создать елемент с вложеными елементами scuter Events/DOM/Window 11 14.05.2008 16:15