Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Использование методов класса, %session / 25 сообщений из 41, страница 1 из 2
03.05.2010, 13:19
    #36609596
блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Добрый день!
В классе определен метод, по которому создается и заполняется dynaGrid. Можно ли использовать данный метод на другой ZEN странице для отображения этого грида? Если да, то как?
Ячейки грида заполняются пользователем непосредственно на странице. Можно ли по кнопке сохранить значения ячеек грида в массив, чтобы воспользоваться данным массивом на другой ZEN странице?(как я понимаю, это должно производится с использованием %session, да?)
Заранее спасибо!
...
Рейтинг: 0 / 0
03.05.2010, 15:04
    #36609666
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
блюх , данные не обязательно держать в сессион. Тем паче хранить их там вообще не получится.

Как вариант записать табличку в глобал. А на странички передавать некий "идентификатор" этой таблички... Хоть в УРЛе... Хоть в сессион...
...
Рейтинг: 0 / 0
03.05.2010, 18:11
    #36609808
Блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Можете привести пример как это сделать?то есть есть грид,в гриде заполняются ячейки значениями,по кнопке формируется глобал,так?кусок текста можете написать как это происходит?и как этот глобал потом вызвать на другой странице?
...
Рейтинг: 0 / 0
03.05.2010, 19:13
    #36609846
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Блюх , алгоритм описан тобой правильно. Но с гридом я не работал... Т.ч. как брать данные из ячеек грида я даже не в курсе...
Так же нужно придумать как идентифицировать некой строкой всю табличку, которую потом нужно будет вычитывать на другой странице.
...
Рейтинг: 0 / 0
03.05.2010, 20:03
    #36609891
Блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Пусть есть грид.Его id="Grid".Значения из грида выцепляются следующим образом- %getvalue(n,m)? где n,m-строка и столбец. есть кнопка.и событие по нажатию этой кнопки .Пусть метод по событию будет называться Save. Что в нем написать?Хотя бы на пальцах объясните, а я уж втыкнуть попробую
...
Рейтинг: 0 / 0
03.05.2010, 21:00
    #36609936
Блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Так,ну вроде с глобалом все получилось.Сейчас буду пробовать работать с ним в другом классе.Спасибо за подсказку
...
Рейтинг: 0 / 0
03.05.2010, 21:28
    #36609955
Блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Никак не получается обратиться к глобалу из другого класса. Подскажите как это сделать?
...
Рейтинг: 0 / 0
03.05.2010, 21:43
    #36609961
Блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Корявенько,но все вроде получилось.Спасибо за помощь!
...
Рейтинг: 0 / 0
03.05.2010, 21:47
    #36609966
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Блюх , смог сам - уже хорошо! Только в следующий раз показывай как и чего делаешь - это может ускорить решение вопроса/проблемы.
...
Рейтинг: 0 / 0
04.05.2010, 01:13
    #36610105
Блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
С гридом вопрос решился, но возникли проблемы с таблицей.
Есть таблица
<tablePane id="SostavList"
tableName="MRP.Specif"
...
>
<column colName="ID" hidden="true"/>
<column header="Товар" colName="TovarID->TovName" hidden="true"/>
<column header="Спецификация" colName="Name"/>
<column header="Количество" colName="Kol"/>
</tablePane>
Есть datacombo

<dataCombo label="Товар:" id="TovarIDSostav" name="TovarID" onchange="javascript:zenPage.Otbor()" sql="SELECT ID,TovName FROM MRP.Tovar ORDER BY ID" size="40" />

В этой датакомбо отображается наименование номенклатуры. Срабатывает событие

Method Otbor() [ Language = javascript ]
{
var t=zenPage.getComponentById('SostavList');
...

var Pole=zenPage.getComponentById('TovarIDSostav');

t.setProperty('whereClause',"TovarID="+Pole.getProperty('value'));
zenPage.getComponentById('SostavList').executeQuery();

}
Соответственно на экране отобразится состав номенклатуры, которая была выбрана в датакомбо. Поменялась номенклатура в дата-изменилась таблица. Вопрос в следующем-мне необходимо использовать значение ячеек, отображающиеся в таблице по отбору. Я могу их использовать?Пытались сохранить в глобалы,но не очень понятно как их выцепить.А в грид их записать тоже как-то проблемно.Если говорить конкретно необходимо работать со столбцом Количество.Заранее спасибо!
...
Рейтинг: 0 / 0
04.05.2010, 09:05
    #36610229
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Блюхнеобходимо работать со столбцом Количество.Заранее спасибо!
Так у тебя есть целый sql-запрос, который даёт нужные записи в таблице! Вот и работай с ним.
Что-то не понятно мне зачем тебе значения самих ячеек в таблице?
...
Рейтинг: 0 / 0
04.05.2010, 10:23
    #36610340
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Блюх,

как-то так, думаю:

Код: plaintext
1.
2.
3.
...
var table = ...
var row = table.getRowData(table.selectedIndex); 
alert(row.ColumnName)
• method getRowData(row) [ Language = javascript ]
For tables in snapshot mode only.
Go to the server and fetch the data for the specified row (0-based) from the table snapshot data. This data is packaged into a JavaScript object whose properties correspond to the names of the columns in the snapshot table.
For non-snapshot tables or out of range row numbers, returns null.
...
Рейтинг: 0 / 0
04.05.2010, 10:27
    #36610346
Блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
1.Да.Запрос есть.Но в дальнейшем для расчетов мне необходимы конкретные значения. В чем суть.
Есть номенклатура, по номенклатуре отображается ее состав. Например, изделие А состоит из трех B и двух C. То есть по запросу, который у меня есть на экране отобразиться следующее
дата комбо: выбираю изделие А
отображается:
--------------|--------------
Наименование Количество |
--------------|--------------
B 3
--------------|-------------|
C 2
--------------|-------------|
Вот для дальнейших расчетов мне нужно как-то запомнить значения 3 и 2, чтобы производить с ними арифметические операции. Потому что таких таблиц по запросу у меня не одна. И в ней тоже формируются свои данные. Значения некоторых столбцов должны перемножаться в зависимости от условия и попасть в другую таблицу.Вот так все запутано)
Можете как-то помочь?
2.С гридом все было бы хорошо. Я с ним работать умею. Но не получается сормировать грид именно таким образом по запросу.В zen методе, который формирует грид указываю sql запрос и в условии where необходимо добавить следующую конструкцию TovarID=Pole,
где поле хранит в себе значение TovarIDSostav- то есть ID той записи , которую пользователь только что выбрал в датакомбо. В Pole все прекрасно записывается, но в самом запросе никак не получается написать TovarID=Pole,чтобы в Pole считывалось значение, хранящееся в этой переменной. Как уже только не писал, и TovarID=#(Pole)# и просто TovarID=Pole, ничего не получается.Вроде понятно объяснил. Там запрос пишется sql="select (то,что мне надо) where TovarID=? " Под знаком вопрос надо написать переменную Pole.Не знаете как это сделать?
...
Рейтинг: 0 / 0
04.05.2010, 10:29
    #36610353
Блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
kolesov,Так не пойдет. у меня нет конкретной таблицы. У меня есть таблица,формируемая по запросу из других таблиц
...
Рейтинг: 0 / 0
04.05.2010, 10:36
    #36610369
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
БлюхВот для дальнейших расчетов мне нужно как-то запомнить значения 3 и 2, чтобы производить с ними арифметические операции. Потому что таких таблиц по запросу у меня не одна. И в ней тоже формируются свои данные. Значения некоторых столбцов должны перемножаться в зависимости от условия и попасть в другую таблицу.Вот так все запутано)
Можете как-то помочь?
Ничего запутаного нет. Ты просто сам разберись что тебе нужно. В любом случае нужно использовать только данные из БД, а со странички брать только вводимую пользователем информацию.
...
Рейтинг: 0 / 0
04.05.2010, 10:42
    #36610383
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Блюх2.С гридом все было бы хорошо. Я с ним работать умею. Но не получается сормировать грид именно таким образом по запросу.В zen методе, который формирует грид указываю sql запрос и в условии where необходимо добавить следующую конструкцию TovarID=Pole,
где поле хранит в себе значение TovarIDSostav- то есть ID той записи , которую пользователь только что выбрал в датакомбо. В Pole все прекрасно записывается, но в самом запросе никак не получается написать TovarID=Pole,чтобы в Pole считывалось значение, хранящееся в этой переменной. Как уже только не писал, и TovarID=#(Pole)# и просто TovarID=Pole, ничего не получается.Вроде понятно объяснил. Там запрос пишется sql="select (то,что мне надо) where TovarID=? " Под знаком вопрос надо написать переменную Pole.Не знаете как это сделать?
Как вариант...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<tablePane 
	id="tpStage" 
	tableName="wrk.Stage" 
	valueColumn="ID"
	pageSize="25" 
	useSnapshot="true" 
	caption="Этапы" 
	orderByClause="Job->Subject->Prio,Job,dEnd"
	whereClause="Vers=#(%page.idItem)#"
	onselectrow='zenPage.Select(zenThis.getValue("ID"))'
	ondblclick='zenPage.VersEdit()' 
	showValueInTooltip="true"
	useKeys="true"
>
	<parameter 
		id="pIdVers"
		value="#(%page.idItem)#"
	/>
...
...
Рейтинг: 0 / 0
04.05.2010, 10:47
    #36610393
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Блюхkolesov,Так не пойдет. у меня нет конкретной таблицы. У меня есть таблица,формируемая по запросу из других таблиц

Извиняюсь, поленился все писать. Первая строчка выглядит так:

var table = zenPage.getComponentById("имя вашего tablePan'а");

В том смысле, что это табличка на странице.
...
Рейтинг: 0 / 0
04.05.2010, 10:55
    #36610414
Блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Так вот с whereclause как раз-таки проблем бы и не было.так можно было указать конкретно
TovarID=#(Pole)#.И все работало. Запрос строился как раз по такой выборке.Но для грида запрос формируется так:
s query1="SELECT Name FROM MRP.Specif WHERE TovarID=#(Pole)#"
Но если пишу так, то в таблице ищутся не значения, где TovarID совпадает со значением переменной Pole,а со строкой '#(Pole)#'((
...
Рейтинг: 0 / 0
04.05.2010, 10:59
    #36610426
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Блюх , вот еще вариант с параметром...

Код: 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.
<tablePane 
	id="tpStgEmpt" 
	tableName="wrk.Stage" 
	valueColumn="ID"
	pageSize="10" 
	useSnapshot="true" 
	caption="Ожидают" 
	sql="
		Select 
			ID,
			IsNull (Title,Job->Name) as Title,
			TO_CHAR(Job->dEnd,'DD.MM.YYYY') as dEnd,
			Purpose->Name as Purpose
		From wrk.Stage
		Where 
			Member=? and dBeg is NULL and dEnd is NULL
		Order by Job->dEnd
	"
	onselectrow='zenPage.Select(zenThis.getValue("ID"),"cnStgEnpt")'
	ondblclick='zenPage.Edit(zenThis.getValue("ID"));' 
>
	<parameter 
		id="pIdMmbrEmpt"
		value="#(%page.idItem)#"
	/>
...
...
Рейтинг: 0 / 0
04.05.2010, 11:00
    #36610436
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
В примере

Код: plaintext
1.
Where 
	Member=?

как раз попадает под твоё описание проблемы...
...
Рейтинг: 0 / 0
04.05.2010, 11:05
    #36610452
Блюх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Так я понимаю, когда пишут,что Member=?,то значит Member может принимать любое значение или я ошибаюсь?
...
Рейтинг: 0 / 0
04.05.2010, 11:08
    #36610465
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Блюх , не любое. А только значения из параметра. Т.е. тебе просто не хватает параметра внутри тейбелплэйн...
Добавь параметр... В условии селекта поставь знак вопроса... И будет тебе счастие.
...
Рейтинг: 0 / 0
04.05.2010, 11:12
    #36610471
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Что-то типа этого...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<tablePane 
	id="tpId" 
	sql="SELECT Name FROM MRP.Specif WHERE TovarID=?"
>
	<parameter 
		id="pId"
		value="#(%page.idItem)#"
	/>
...
...
Рейтинг: 0 / 0
04.05.2010, 11:13
    #36610475
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Точнее даже так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<tablePane 
	id="tpId" 
	sql="SELECT Name FROM MRP.Specif WHERE TovarID=?"
>
	<parameter 
		id="pId"
		value="#(Pole)#"
	/>
...
...
Рейтинг: 0 / 0
04.05.2010, 11:14
    #36610483
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование методов класса, %session
Блюх , показывай примеры твоего кода. Это облегчит дело...
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Использование методов класса, %session / 25 сообщений из 41, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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