Динамические таблицы - как?

  • Автор темы rocsolanka
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

rocsolanka

#1
А можно ли как-то сделать, чтоб по нажатию кнопки пользователем , к таблице добавлялись новые строки (содержащие поля). Есть что-нибудь почитать на эту тему?
 
C

Chernom0r

#4
<!--QuoteBegin-Domino6+9:09:2005, 22:08 -->
<span class="vbquote">(Domino6 @ 9:09:2005, 22:08 )</span><!--QuoteEBegin-->Через Notes API
[snapback]24673" rel="nofollow" target="_blank[/snapback]​
[/quote]
М-м-м... Коллега, можно и без Notes API.
Таблица вида
[textList] | [textList] | [textList] | [textList]
довольно просто решается при помощи LS + @Formulas.
Только в этом случае не нужно забывать про ограничение на количество информации в текстовом поле.

 

Вложения

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#5
Для: Chernom0r
А редактировать как ? Например, 14 запись. Или удалить.
Уж лучше встроеное представление.
 
D

Domino6

#6
<!--QuoteBegin-Medevic+12:09:2005, 10:35 -->
<span class="vbquote">(Medevic @ 12:09:2005, 10:35 )</span><!--QuoteEBegin-->А редактировать как ?
[snapback]24704" rel="nofollow" target="_blank[/snapback]​
[/quote]

Да-да и + если запись длиннеее чем ширина колонки то влезут перносы

Я про API говорил - на нем можно таблицу постоить и управлять ее
 
C

Chernom0r

#7
<!--QuoteBegin-Medevic+12:09:2005, 11:35 -->
<span class="vbquote">(Medevic @ 12:09:2005, 11:35 )</span><!--QuoteEBegin-->А редактировать как ? Например, 14 запись. Или удалить.
[snapback]24704" rel="nofollow" target="_blank[/snapback]​
[/quote]

Например, так.
Против Notes API я не возражаю.
Но для реализации простенькой таблицы со строго структурированными данными этот вариант наиболее быстрореализуемый и приемлемый.
Это чисто моя реализация. Похожих можно найти много на просторах инета.
Есть хорошая реализация на openntf (не помню точного названия)


==========================================



==========================================



==========================================



==========================================
 
D

Domino6

#8
Согласен пусть роксоланка выбирает что "по душе"
 
R

rocsolanka

#9
<!--QuoteBegin-Chernom0r+12:09:2005, 08:17 -->
<span class="vbquote">(Chernom0r @ 12:09:2005, 08:17 )</span><!--QuoteEBegin-->М-м-м... Коллега, можно и без Notes API.
Таблица вида
[textList] | [textList] | [textList] | [textList]
довольно просто решается при помощи LS + @Formulas.
Только в этом случае не нужно забывать про ограничение на количество информации в текстовом поле.


[snapback]24703" rel="nofollow" target="_blank[/snapback]​
[/quote]
Спасибо, этот способ я знаю, но, к сожалению, этот он мне не подходит, так как в строках таблицы должны быть ричтекстовые поля, да и общее количество информации не имеет верхнего предела- может быть одна строка, а может быть 100 :-(
 
C

Chernom0r

#10
<!--QuoteBegin-rocsolanka+14:09:2005, 11:04 -->
<span class="vbquote">(rocsolanka @ 14:09:2005, 11:04 )</span><!--QuoteEBegin-->так как в строках таблицы должны быть ричтекстовые поля
[snapback]24796" rel="nofollow" target="_blank[/snapback]​
[/quote]
<!--QuoteBegin-rocsolanka+14:09:2005, 11:04 -->
<span class="vbquote">(rocsolanka @ 14:09:2005, 11:04 )</span><!--QuoteEBegin-->может быть одна строка, а может быть 100 :-(
[snapback]24796" rel="nofollow" target="_blank[/snapback]​
[/quote]

А сколько при этом будет весить документ вы задумывались?
 
Z

zigfrid

#11
Для: Chernom0r

У меня просьба, нельзя ли немного подробнее описать Ваш вариант создания динамической таблицы.
Или хотя бы объяснить, что можно по этой теме прочитать.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#12
<!--QuoteBegin-zigfrid+21:09:2005, 16:52 -->
<span class="vbquote">(zigfrid @ 21:09:2005, 16:52 )</span><!--QuoteEBegin-->У меня просьба, нельзя ли немного подробнее описать Ваш вариант создания динамической таблицы.
Или хотя бы объяснить, что можно по этой теме прочитать.
[snapback]25046" rel="nofollow" target="_blank[/snapback]​
[/quote]
Расскажу, как я делал. Есть поля для ввода информации. И есть поля (с галкой allow multiple values) для отображения ее - это и есть наша "таблица".
Мы забиваем поля для ввода и жмем кнопку для добавления. Значение этих полей добавляется (операция конкатенация. на собаке это ":". на скриптах ArrayAppend) к полям для отображения.
Работаем с таблицей через метод notesUIWorkspace.Prompt. В нем в качестве значений выбираем значение одного из полей для отображения (в примере, это поле с ФИО).
Когда мы выбираем значение, то с помощью ArrayGetIndex получаем номера выбранных значений. По этим номерам определяем значение других полей для отображения (в примере, это "доля", "с", "по", "примечание").
Но этот метод имеет много недостатков. Например, если у нас есть одинкаовые значения в поле "ФИО), значения которого используются для выбора через notesUIWorkspace.Prompt, то нельзя определить какое точно мы выбрали значение. Первое или второе. Вероятность такого случая можно снизить, если ввести скрытое поле, где хранить комплексную информацию. Например, ФИО + доля + примечание (или еще каких-нибудь уникальных значений). И в notesUIWorkspace.Prompt использовать это поле в качестве значений.
Также в один прекрасный момент, можно обнаружить, что мы исчерпали лимит объема поля в 32 килобайта.

Но, на мой взгляд, лучше использовать встроенное представление.
Во-первых, метод ввода данных можно сделать таким же..
Во-вторых, пропадает проблема дублирования значений.
В-третьих, редактирование значений делается по-крайней мере не сложней. Удаление даже проще.
В-четвертых, практически неограниченное количество строк.
В-пятых, будет нормальный поиск.
 
C

Chernom0r

#13
<!--QuoteBegin-Medevic+22:09:2005, 14:35 -->
<span class="vbquote">(Medevic @ 22:09:2005, 14:35 )</span><!--QuoteEBegin-->notesUIWorkspace.Prompt
[snapback]25085" rel="nofollow" target="_blank[/snapback]​
[/quote]
DialogBox в моём случае, ибо красивше :p

<!--QuoteBegin-Medevic+22:09:2005, 14:35 -->
<span class="vbquote">(Medevic @ 22:09:2005, 14:35 )</span><!--QuoteEBegin-->Вероятность такого случая можно снизить, если ввести скрытое поле, где хранить комплексную информацию
[snapback]25085" rel="nofollow" target="_blank[/snapback]​
[/quote]
именно так всё и есть.

<!--QuoteBegin-Medevic+22:09:2005, 14:35 -->
<span class="vbquote">(Medevic @ 22:09:2005, 14:35 )</span><!--QuoteEBegin-->Также в один прекрасный момент, можно обнаружить, что мы исчерпали лимит объема поля в 32 килобайта.
[snapback]25085" rel="nofollow" target="_blank[/snapback]​
[/quote]
Вот это -- действительно проблема. Так что использование этого метода годится только для небольших таблиц.

<!--QuoteBegin-Medevic+22:09:2005, 14:35 -->
<span class="vbquote">(Medevic @ 22:09:2005, 14:35 )</span><!--QuoteEBegin-->Но, на мой взгляд, лучше использовать встроенное представление.
Во-первых, метод ввода данных можно сделать таким же..
Во-вторых, пропадает проблема дублирования значений.
В-третьих, редактирование значений делается по-крайней мере не сложней. Удаление даже проще.
В-четвертых, практически неограниченное количество строк.
В-пятых, будет нормальный поиск.
[snapback]25085" rel="nofollow" target="_blank[/snapback]​
[/quote]
С этим согласен. Тем более,что в R6 - R7 можно использовать редактируемые столбцы в представлениях -- вообще красотищщща :)
 
Z

zigfrid

#14
Сдела с использованием встроенных представлений.
Вобщем нормально получилось.
Спасибо за помощь B)
 
G

Guest

#15
Подскажите, пожалуйста:

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

Проблема следующая: чтобы посмотреть историю, нужно заходить в каждую форму в режим редактирования и по Hotspot'у делать @Command([ViewRefreshFields]).

Вопрос: можно ли не меняя принципа организации истории избавиться от hotspot, чтобы при просмотре формы история отображалась сразу?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#16
Для: Начинающий
Когда (или в каком событии) происходит отбор значений в историю ?

И лучше бы ты создал новую тему. А то твой вопрос не вписывается в эту. :D
 
D

Domino6

#17
<!--QuoteBegin-Начинающий+28:09:2005, 12:45 -->
<span class="vbquote">(Начинающий @ 28:09:2005, 12:45 )</span><!--QuoteEBegin-->Computed
[snapback]25253" rel="nofollow" target="_blank[/snapback]​
[/quote]
Computed for display
 
G

Guest

#18
Для: Domino6

При использовании Computed for display, вся история в документе будет каждый раз пересчитываться при его открытии?

В дальнейшем предполагается делать архивирование старых документов (пока не знаю как), история для каждого из документов потеряется?
Как корректно отобразить историю?

Для: Medevic

Вся история берется из скрытого вьювера, где отобираются значения при каждом расходе.
В оновной форме отбирается через @DbLookup.
 
G

Guest_

#19
А кто-нибудь знает как избежать искажения при печати Embedded View ?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#20
Для: Guest_Игорь_*
Никак.
Для печати документов с embedded view я использую HTML. Гораздо лучше и красивее получается.
 
Статус
Закрыто для дальнейших ответов.