Динамическое добавление полей

iosif88

Well-Known Member
14.10.2009
97
1
#1
Здравствуйте уважаемые.

Простите за дублирование темы: http://codeby.net/forum/threads/40974s0.html?...mp;#entry200311
Мне посоветовали обратиться в эту ветку.

Есть ли несложный способ динамически создавать элементы дизайна в Lotus?

Конкретно интересует возможность размножения редактируемого текстового поля и двух чекбоксов.
В прикрепленном Html файле, если открыть в браузере вы увидите то что мне нужно реализовать в лотусе.



Заранее спасибо.
 

Вложения

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 483
360
#2
теперь нужно определиться с хранением строк:
-мультивалью поле (ограничение по кол-ву данных)
-приаттаченый файл
-энтрисы вьюшки
многочисленные поля не рассматриваю - ибо ограничений как и у мультиэлью, а поддержка и управление - сложнее (яб так не делал и не буду ;) )

"проще" всего отображать вью энтрисы, но каждый энтрис м.б. документом (что может не подходить по дизайну приложения)
 

iosif88

Well-Known Member
14.10.2009
97
1
#3
теперь нужно определиться с хранением строк:
-мультивалью поле (ограничение по кол-ву данных)
-приаттаченый файл
-энтрисы вьюшки
многочисленные поля не рассматриваю - ибо ограничений как и у мультиэлью, а поддержка и управление - сложнее (яб так не делал и не буду ;) )

"проще" всего отображать вью энтрисы, но каждый энтрис м.б. документом (что может не подходить по дизайну приложения)

Уважаемый lmike, я бы хотел добавить на свою форму следующую возможность.

Пользователь должен ввести список неких ресурсов доступы на которые он должен получить.
К примеру пусть этот ресурс - папка (и два варианта доступа на чтение и\или запись ( либо чекбоксы, либо как то по другому(но чтобы исполнитель который будет этот документ читать в дальнейшем видел какие опции выбраны)

Это должно выглядеть примерно так:

-----------------------------------------------------
|Имя папки | чтение | запись |
-----------------------------------------------------
|C:\Database\Customer | да | Нет |
|C:\Database\Employee | да | да |
|C:\Database\Deps | да | да |
|C:\Database\Salary | Нет | да |
|.................................. | ...... | ..... |
|.................................. | ...... | ..... |
|.................................. | ...... | ..... |
|.................................. | ...... | ..... |
|.................................. | ...... | ..... |
-----------------------------------------------------


Сколько будет таких строк заранее неизвестно (их вообще может ни одной не быть, в этом случае на форме вообще не должна быть эта таблица) . Как это можно реализовать чтобы выглядело нормально?
Как бы вы сами решили эту задачу.

Версия клиента 8.5
Попрошу сделать скидку на мою неопытность в программировании лотуса (практически этим не занимаюсь).

Спасибо заранее
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 483
360
#4
т.к. строки пути м.б. длинными и написан русским языком... яб сделал через документы
- каждый ресурс - отдельный документ
тамже можно отслеживать и вложенность путей на уровне вьюшки (категоризация)
далее
- вывести на xPage контрол, кот. отображает вьюшку (могут быть варианты)
- на уровне отображения - рисовать чекбоксы
- при сохранении страницы - правятся доки

в этой схеме, также получится управлять "видимостью" ресурсов, с пом. полей Readers (т.е. кому не надо - не будет видеть и предложения на доступ)

контролы по отображению, для xPage гибки и разнообразны - выглядеть будет "нормально" ;)
причитать нужно будет много ;), список "литературы", в разделе, имеется

Добавлено: конечно можно отображать и с пом. dojo JS, но остаётся вопрос получения списка ресурсов, а вот здесь у дожо нет ничего кроме ХТТП реквестера, с кот. есть "сложности", в клиентском режиме
 

iosif88

Well-Known Member
14.10.2009
97
1
#5
А нельзя никак просто динамически рисовать таблицу?
От чек боксов можно отказаться (вместо них в таблице будут слова да и нет).

На форме будет одно редактируемое поле и два чекбокса.
Пользователь заполнит (напишет строку и отметит нужные чекбоксы) , нажмет кнопку "добавить" и значения пойдут в таблицу (добавиться новая трока). Содержимое редактируемое поля и чекбоксов сбрасывается и можно вводить новую запись.

и так заполнится список. (таблица будет выглядеть примерно так как нарисовал выше т.е. голый текст)
нужно только динамическое заполнение таблицы по нажатию кнопки.
Тоже никак по простому не делается? )

Добавлено:
Пробовал прописать в computed text Html код с нарисованной таблицей. и по мере заполнения изменять содержимое хтмл
(добавлять в таблицу новые строки изменяя Html ).
но проблема: computed text никак не обновляется.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 483
360
#6
выше я написал - можно
но как связать это с получением данных из БД?!
создавайте хэПагу и рисуйте ней с пом. чего хотите, хэПага отображает ХТМЛ динамически и менять его можно (например dojo - ибо встроен в движок)
 

iosif88

Well-Known Member
14.10.2009
97
1
#7
выше я написал - можно
но как связать это с получением данных из БД?!
создавайте хэПагу и рисуйте ней с пом. чего хотите, хэПага отображает ХТМЛ динамически и менять его можно (например dojo - ибо встроен в движок)

Все гораздо проще. Никакой бд нет.
Пользователь просто должен заполнить таблицу.
Если бы я заранее знал бы что число строк будет скажем ровно 10 я бы просто разместил
на форме все десять строк.

Проблема в том что количество строк в таблице заранее неизвестно.

попробую хэПага , хотя совершенно не знаю что это и как разместить её на моей форме))
 

iosif88

Well-Known Member
14.10.2009
97
1
#9
никак
хеПагесы имеют свой движок и отображаются рендерером не связанным с "обычными" формами
А как я могу использовать XPage для моей цели?

Все это должно отображаться в обычном клиенте лотуса (не браузер)
 

iosif88

Well-Known Member
14.10.2009
97
1
#12
клиент 8.5.2 отображает (младше просто я не пробовал)

Добавлено: http://www.eview.com/eview/VOLR6.nsf/Curre...D6?OpenDocument

Мда... 8.5.1
У меня 8.5
Кнопка "Prewview in Note" есть но не доступна.
;)



Добавлено: Придется искать альтернативу.

Что вы думаете об этом?
http://www.ibm.com/developerworks/lotus/li...text/index.html

Жаль не получается скачать пример который там представлен.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 483
360
#13
ну воще-то доступно с 8.5.1 (КМК) - читайте след ссылки

Добавлено: тоже что и всегда - РТ классы, в нотусах, унылое глюкавое индусское дерьмо...
вы текст читали?
When you work with these example agents, keep in mind that Notes/Domino 6 does not refresh rich text items on the fly. So while you can write agents that reshape the content of rich text fields, if you start with an open document, you must close and reopen it to see the changes.
 

iosif88

Well-Known Member
14.10.2009
97
1
#14
Добавлено: тоже что и всегда - РТ классы, в нотусах, унылое глюкавое индусское дерьмо...
вы текст читали?
Ну что ж...
Это полный облом. Простая на первый взгляд вещь и практически невозможно реализовать нормальными способами.
Не буду вас более задерживать.
Спасибо за помощь.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 483
360
#15
перестаньте метаться, возможные варианты вам перечислили...
нотусов вы не знаете - не пытайтесь найти сильвербулет (нетути её)
делайте на хэПагах - это будущее нотусов

ИБМ уже, фактически, признало, что исправить код написанный индусами с 1999 года (http://en.wikipedia.org/wiki/IBM_Lotus_Notes на самом деле раньше - т.к. разработка началась раньше) они не в состоянии (да и никто не сможет ;) )
т.е. когда появился чисто виндозный былокод (а фичи РТ там поперли) - обратного пути не было и правильно решили - поменять движок

Добавлено:
практически невозможно реализовать нормальными способами
хеПагесы - нормальный способ, активно продвигаемый вендором

Добавлено: на dojo (кот. встроен в хэпагесы) ваша задача решается десятком строк
http://anton.shevchuk.name/javascript/dojo-for-beginners/
примерчики посмотрите
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 483
360
#17
кто мешает "поднять" версию?
этож минорный релиз
 

iosif88

Well-Known Member
14.10.2009
97
1
#18
кто мешает "поднять" версию?
этож минорный релиз
Это не я решаю. ( а те кто решают вряд ли будут заворачиваться этим).
К тому же большая часть приложения уже написана, нужно добавить только обсуждаемую возможность.
Придется мне придумать что-нибудь другое.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 483
360
#19
дело хозяйское... моглибы и сказать - тем "кто решает"
если честно - мне вовсе не понятен такой интерфейсный подход

ресурсы - не из воздуха, их список можно взять и управлять списком, совершенно другим способом
архитектору это фичи - не мешалоб кругозор расширять ;)
 

iosif88

Well-Known Member
14.10.2009
97
1
#20
если честно - мне вовсе не понятен такой интерфейсный подход

ресурсы - не из воздуха, их список можно взять и управлять списком, совершенно другим способом
архитектору это фичи - не мешалоб кругозор расширять ;)

Пример для чего это может быть нужно:
пользователь хочет перечислить список сайтов доступы на который ему должен открыть администратор
(тот кому пойдет заполненная форма на исполнение).
Список сайтов заранее неизвестен.