Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN как "связать" форму и табличку? / 5 сообщений из 5, страница 1 из 1
02.02.2010, 14:44
    #36444643
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN как "связать" форму и табличку?
Есть датаконтроллер...

Код: plaintext
1.
2.
3.
<dataController 
	id="cnItem" 
	modelClass="zst.DAT.Group" 
/>

Есть форма связаная с ним...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<form id="fItem" controllerId="cnItem" labelPosition="left">
	<text 
		label="Название" 
		id="tName" 
		onkeypress="zenPage.On()"
		onchange="zenPage.On()"
		dataBinding="Name"
	/>
</form>

Есть табличка которая показывает экземпляры того же класса, что и датаконтроллер...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<tablePane 
	id="tpItem" 
	tableName="zst_DAT.Group" 
	valueColumn="ID"
	pageSize="20" 
	useSnapshot="true" 
	caption="Группы" 
	orderByClause="Name"
	onselectrow='zenPage.Select(zenThis.getValue("ID"))'
>
	<column 
		header="Id" 
		colName="ID" 
		hidden="true"
	/>
	<column 
		header="Название" 
		colName="Name" 
		filterType="text"
		filterOp="["
	/>
</tablePane>

Собрался при выборе строки сделать возможность редактирования её в форме...

Код: plaintext
1.
2.
3.
4.
5.
/// Выбрать строку
Method Select(Id As %String) [ Language = javascript ]
{
	zenPage.getComponentById('cnItem').setModelId(Id)
}

Но форма становися "не активной" после этого... Как правильно указать тата контроллеру нужный ИД екземпляра и перечитать поля формы?
Вроде больше ничего и не нужно?
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
03.02.2010, 07:52
    #36446114
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN как "связать" форму и табличку?
krvsa,

Код: plaintext
onselectrow='zenPage.Select(zenThis.value);'

еще лучше (имхо):

Код: plaintext
onselectrow='zenPage.Select();'

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
/// Выбрать строку
Method Select() [ Language = javascript ]
{
 var selectedLineId = zenPage.getComponentById('tpItem').value;
 var objId = zenPage.getComponentById('cnItem').modelId;
 if (objId != selectedLineId) { // Важно! Гейты под юниксом в этом месте при
                                // загрузке того-же экземпляра глючат.
  zenPage.getComponentById('cnItem').setModelId(selectedLineId);
 }
}
...
Рейтинг: 0 / 0
03.02.2010, 09:49
    #36446231
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN как "связать" форму и табличку?
kolesovеще лучше (имхо)
Учту...

Оказывается и мой вариант работает. Вот только форма иной раз "не поспевает" за табличкой чтоли...
...
Рейтинг: 0 / 0
03.02.2010, 09:51
    #36446236
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN как "связать" форму и табличку?
kolesov , а откуда "взялась" selectedLineId ? Она "проносимая" какая-то? Кто и когда её определяет?
...
Рейтинг: 0 / 0
03.02.2010, 09:52
    #36446238
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN как "связать" форму и табличку?
krvsaа откуда "взялась" selectedLineId ?
Увидал...
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN как "связать" форму и табличку? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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