Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Передача многомерных данных компоненту ZEN / 1 сообщений из 1, страница 1 из 1
26.05.2010, 08:33
    #36649151
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача многомерных данных компоненту ZEN
Коллеги, извратился тут днями... не покидает мысль, что опять изобрел велосипед. Может кто знает, как такого же эффекта добиться к.л. дефолтным способом?

Задачка:
Есть зен-страница, в ней компонент
Код: plaintext
<my:component id="cmpnt1">

Есть компонент, в нем есть надобность прорисовать многомерные данные с сервера (саму прорисовку опустим, важно, что данные многомерны.

Сделал так.
В компоненте:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
	ClientMethod renderContents() [ Language = javascript ]
{
	...
	var tmp = this.sGetMdData(..., this.id);
	// Вот здесь выполнится код "набивки" клиента данными сервера
	// Далее работаем с многомерными данными, как с родными, например:
	alert(this.humans[ 5 ].name) 
	alert(this.humans[ 5 ].dogs[ 2 ].name) 
	...

}
...
// Собственно, "набивка":
ClassMethod sGetMdData(..., srcComponent As %String) As %ZEN.Datatype.string [ ZenMethod ]
{
	&js<
	var obj = zenPage.getComponentById('#(srcComponent)#')
	obj.humans = [];
	>
	f  {
		...
		&js<
			obj.humans[#(i)#] = {};
			obj.humans[#(i)#].name = '#(nextHumanName)#';
			obj.humans[#(i)#].dogs = [];
		>
		...
		f  {
			...
			&js<
				obj.humans[#(i)#].dogs = {};
				obj.humans[#(i)#].dogs[#(j)#].name = '#(nextHumanDogName)#';
				...
			>
			...
		}
	}
	q ""
}
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Передача многомерных данных компоненту ZEN / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]