Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Привязка объекта к форме (csp) / 15 сообщений из 15, страница 1 из 1
17.09.2007, 15:12
    #34805254
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Если привязывать объект к форме так
<csp:object name="obj" classname="Sample.Person" objid=1>
Код: plaintext
1.
2.
3.
4.
<form method cspbind=obj name=Person>
...
<input type=TEXT name="Name" cspbind=Name>
...
</form>
Все работает... Но как сделать аналог привязки из программы? Возможно ли это? Т.е. я использую в csp странице
Код: plaintext
1.
2.
3.
4.
...
<script language='Cache' runat='server'>
   d PRIMER^PRIMER
</script>
...
Затем в программке хочу сделать нечто
Код: plaintext
1.
2.
...
&html<<input type=TEXT name="#(name)#" cspbind='#(name)#'>>
...
Но это уже не "привязка" А как сделать привязку?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
17.09.2007, 18:20
    #34806070
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Давно пора переходить на Cache' 2007.1.
Там есть технология ZEN. В Zen есть Model View Controller и много еще чего интересного.

По-моему Ваш вопрос про гипер-события.
Посмотрите документ CSP QuickStart (в учебных материалах на нашем сайте).
Там есть пример работы с гипер-событиями.

Вадим
...
Рейтинг: 0 / 0
18.09.2007, 05:47
    #34806658
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Смотрел примеры ZEN - какая-то по-странному вяло они работают. Это пока отпугивает.
С каждой операций (куда-то ткнул, что-то нажал) идут лаги. Такое ощущение, что каждый клик приложение отправляет на сервер.
Лаги порядка десятой доли секунды по ощущениям, но это заметно.

Пробовал локально AthlonXP 3800+X2, 2 Гб оперативной памяти.
Если это посадить на слабые машины да медленные линии, жить то как будет?
...
Рейтинг: 0 / 0
18.09.2007, 08:30
    #34806749
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Насколько я понимаю, тег OBJECT создается на уровне "compiler".

Посмотрите C:\CacheSys\Dev\csp\rules\Object.csr
Правда писать что-то на этом уровне для меня тяжело.
...
Рейтинг: 0 / 0
18.09.2007, 08:48
    #34806769
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
VadimFДавно пора переходить на Cache' 2007.1.
Это в планах. Хотим учебу по ЗЕНу организовать... Вот только пока не решили по деньгам вы к нам или мы к вам
...
Рейтинг: 0 / 0
18.09.2007, 08:53
    #34806771
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
VadimFПо-моему Ваш вопрос про гипер-события.
Посмотрите документ CSP QuickStart
А при чем тут гипер события? Они вроде тут нипричем... Я и опираюсь на ваш CSP QuickStart. Если привязку писать в csp странице все работает. Но мне привязку нужно генерить программно... Вот это как сделать?
Т.е. страница "знает" имя класса, id получает как параметр. Дальше вызывается процедурка которая считывает информацию о свойствах класса и, используя привязку формы к объекту, расставляет поля для редактирования...
Вот это-то и не получается... Поля есть но "привязки" нет...
...
Рейтинг: 0 / 0
18.09.2007, 10:21
    #34806999
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Вот мой пример кода...
Код: 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.
PRIMER
 s ocls=##class(%Dictionary.ClassDefinition).%OpenId(ClsName)
 d LISTFLD
 d ocls.%Close()
 q

LISTFLD ; Список свойств
 n n,i
 s n=ocls.Properties.Count()
 &html<<table>>
 for i= 1 : 1 :n {
    d FLD
 }
 &html<</table>>
 q
FLD ; Очередное свойство
 n val,nam,str
 s val=ocls.Properties.GetAt(i).Relationship
 q:val 
 s nam=ocls.Properties.GetAt(i).Name
 s val=ocls.Properties.GetAt(i).Description 
 &html<<tr>>
 &html<<td>#(val)#>
 &html<<td><input type='text' name='#(nam)#' cspbin='#(nam)#'>>
 q
Но он привязку не делает...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
18.09.2007, 10:31
    #34807045
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Вообще CSR теги внутри &html работают?
...
Рейтинг: 0 / 0
18.09.2007, 10:43
    #34807101
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Моя конструкция не работает точно. Вот и интерисуюсь... Может есть какие варианты еще?...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
18.09.2007, 14:01
    #34808014
Александр Коблов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
А вам нужно генерировать привязку во время выполнения или сойдёт во время компиляции? В последнем случае могу кинуть пример
...
Рейтинг: 0 / 0
18.09.2007, 14:41
    #34808185
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Я только в момент выполнения получаю имя класса и id записи...
Но от примерчика не откажусь. :)
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
18.09.2007, 14:52
    #34808228
Александр Коблов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Есть класс:
Код: plaintext
1.
2.
3.
4.
Class User.DummyPers Extends %Persistent
{
Property A As %String;
}
Есть страница
Код: plaintext
1.
2.
3.
4.
<html><head></head><body>
<div>
 ##(##class(User.Dummy).QQ())##
</div></body></html>
Вот этот метод:
Код: 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.
ClassMethod QQ()
{
	new q,p,o,t
	s q=%this.Parent
	
	s o=##class(%csr.csp.OBJECT).%New()
	d o.TagAttributes.SetAt($LB("User.DummyPers","CLASSNAME", 1 ,"'"),"CLASSNAME")
	d o.TagAttributes.SetAt($LB("QQ","NAME",1,"'"),"NAME")
	d o.TagAttributes.SetAt($LB("1","OBJID", 1 ,"'"),"OBJID")
	s o.Parent=q
	d q.Children.Insert(o)
	
	s p=##class(%csr.csp.FORM).%New()
	d p.TagAttributes.SetAt($LB("QQ","NAME",1,"'"),"NAME")
	d p.TagAttributes.SetAt($LB("QQ","CSPBIND", 1 ,"'"),"CSPBIND")
	d p.TagAttributes.SetAt($LB("All","CSPJS",1,"'"),"CSPJS")
	s p.TagName="FORM"
	s p.Parent=q

	
	s text=##class(%CSP.TextAtom).%New()
	s text.Text="простой текст"
	s text.Parent=p
	d p.Children.Insert(text)
	
	s t=##class(%csr.csp.INPUT).%New()
	s t.TagName="INPUT"
	d t.TagAttributes.SetAt($LB("Ainp","NAME", 1 ,"'"),"NAME")
	d t.TagAttributes.SetAt($LB("A","CSPBIND",1,"'"),"CSPBIND")
	d t.TagAttributes.SetAt($LB("TEXT","TYPE", 1 ,"'"),"TYPE")
	s t.Parent=p
	
	d p.Children.Insert(t)
	
	d q.Children.Insert(p)
	
	q ""
}

Как-то так.
...
Рейтинг: 0 / 0
18.09.2007, 14:55
    #34808255
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Ни че се замес! Такое точно не осилю...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
18.09.2007, 15:03
    #34808294
Александр Коблов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
А чё замес. Ничего не замес.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
s o=##class(%csr.csp.OBJECT).%New()  ;создали тэг csp:object
;добавили три атрибута
d o.TagAttributes.SetAt($LB("User.DummyPers","CLASSNAME", 1 ,"'"),"CLASSNAME")
d o.TagAttributes.SetAt($LB("QQ","NAME",1,"'"),"NAME")
d o.TagAttributes.SetAt($LB("1","OBJID", 1 ,"'"),"OBJID")
;указали родителя
s o.Parent=q
;добавили потомком к родителю
d q.Children.Insert(o)
И так далее дерево и строится.
Классы %csr.csp.OBJECT, %csr.csp.FORM и %csr.csp.INPUT -- наследники %CSP.Rule, вполне себе описанного.
...
Рейтинг: 0 / 0
18.09.2007, 15:20
    #34808376
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Привязка объекта к форме (csp)
Не-е-е... :( Мне проще другим образец привязки показать и сказать:
- Делайте по аналогии.
нежели такие методы писать... Но за пример конечно отдельное спасибо.
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Привязка объекта к форме (csp) / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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