powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Привязка объекта к форме (csp)
15 сообщений из 15, страница 1 из 1
Привязка объекта к форме (csp)
    #34805254
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если привязывать объект к форме так
<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
Привязка объекта к форме (csp)
    #34806070
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давно пора переходить на Cache' 2007.1.
Там есть технология ZEN. В Zen есть Model View Controller и много еще чего интересного.

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

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

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

Посмотрите C:\CacheSys\Dev\csp\rules\Object.csr
Правда писать что-то на этом уровне для меня тяжело.
...
Рейтинг: 0 / 0
Привязка объекта к форме (csp)
    #34806769
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimFДавно пора переходить на Cache' 2007.1.
Это в планах. Хотим учебу по ЗЕНу организовать... Вот только пока не решили по деньгам вы к нам или мы к вам
...
Рейтинг: 0 / 0
Привязка объекта к форме (csp)
    #34806771
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimFПо-моему Ваш вопрос про гипер-события.
Посмотрите документ CSP QuickStart
А при чем тут гипер события? Они вроде тут нипричем... Я и опираюсь на ваш CSP QuickStart. Если привязку писать в csp странице все работает. Но мне привязку нужно генерить программно... Вот это как сделать?
Т.е. страница "знает" имя класса, id получает как параметр. Дальше вызывается процедурка которая считывает информацию о свойствах класса и, используя привязку формы к объекту, расставляет поля для редактирования...
Вот это-то и не получается... Поля есть но "привязки" нет...
...
Рейтинг: 0 / 0
Привязка объекта к форме (csp)
    #34806999
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот мой пример кода...
Код: 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
Привязка объекта к форме (csp)
    #34807045
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще CSR теги внутри &html работают?
...
Рейтинг: 0 / 0
Привязка объекта к форме (csp)
    #34807101
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя конструкция не работает точно. Вот и интерисуюсь... Может есть какие варианты еще?...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Привязка объекта к форме (csp)
    #34808014
Александр Коблов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вам нужно генерировать привязку во время выполнения или сойдёт во время компиляции? В последнем случае могу кинуть пример
...
Рейтинг: 0 / 0
Привязка объекта к форме (csp)
    #34808185
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я только в момент выполнения получаю имя класса и id записи...
Но от примерчика не откажусь. :)
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Привязка объекта к форме (csp)
    #34808228
Александр Коблов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть класс:
Код: 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
Привязка объекта к форме (csp)
    #34808255
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни че се замес! Такое точно не осилю...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Привязка объекта к форме (csp)
    #34808294
Александр Коблов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чё замес. Ничего не замес.
Код: 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
Привязка объекта к форме (csp)
    #34808376
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не-е-е... :( Мне проще другим образец привязки показать и сказать:
- Делайте по аналогии.
нежели такие методы писать... Но за пример конечно отдельное спасибо.
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Привязка объекта к форме (csp)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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