Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/60: Рейтинг темы: голосов - 60, средняя оценка - 4.72
ученикtm

Поле Со Списком (как Добавить Пункт В Список)

22.06.2014, 14:17. Показов 12318. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача простая. Есть поле со списком, точнее поля. В которых пользователь выбирает значения. Но некоторые значения необходимо в этот список добавлять или удалять. С помощью scripta Новое appendtotextlist добавляет только в поле, список остается прежним.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.06.2014, 14:17
Ответы с готовыми решениями:

Как добавить пункт в список ComboBox?
Мне нужно чтобы текст из textbox'a при нажатии кнопки добавлялся в список combobox'а.Как это можно реализовать?

Как в поле со списком добавить значение из другой формы (+фильтр)?
Доброго времени суток форумчане. В общем такая задача. Есть форма расходов в котором несколько полей ввода данных (№, дата, сумма,...

Как добавить новую запись в поле со списком из другой таблицы?
Добрый день. 2 таблицы: raskhod (id_ras, data, klient, data, summa) klient - поле со списком, источник Dogovor.klient Dogovor...

12
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
22.06.2014, 15:12
RTFM
Читаем про типы полей Combobox, listbox, dialogBox и их свойства.
0
ученикtm
30.06.2014, 21:38
Цитата Сообщение от savl
RTFM
Читаем про типы полей Combobox, listbox, dialogBox и их свойства.
Savl! help! Не могу найти в свойствах, подскажи куда смотреть...
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
01.07.2014, 09:28
Вторая закладка свойств поля, галочка "Allow values not in list" это позволит руками добавлять значение, которого нет в списке.
Но список от этого не изменится. Чтобы список постоянно дополнялся можно сделать так:

1. Надо сделать настроечный документ, в документе сделать поле многозначное со списком значений.
2. В свойствах поля, где выбирают значения, на второй закладке в секции "Choices" вместо "Enter choices (one per line)" делаем "Use Formula fo choices"
3. В окошко ниже пишем формулу @DbLookUP(...), чтобы получать значения из нашего настоечного документа.
4. При сохранении документа так же получаем настроечный документ и смотрим значения.
Если выбранное нами там есть - ничего не делаем, если его нет - добавляем.
Естественно данный настроечный документ должен быть открыт всем для редактирования, но спрятан в UI.

Вот как-то так, не слишком элегантно, да и несколько подводных камней есть (конфликт при сохранении), но решение вполне имеет место быть.
0
ученикtm
01.07.2014, 10:33
Цитата Сообщение от savl
Вторая закладка свойств поля, галочка "Allow values not in list" это позволит руками добавлять значение, которого нет в списке.
Но список от этого не изменится. Чтобы список постоянно дополнялся можно сделать так:

1. Надо сделать настроечный документ, в документе сделать поле многозначное со списком значений.
2. В свойствах поля, где выбирают значения, на второй закладке в секции "Choices" вместо "Enter choices (one per line)" делаем "Use Formula fo choices"
3. В окошко ниже пишем формулу @DbLookUP(...), чтобы получать значения из нашего настоечного документа.
4. При сохранении документа так же получаем настроечный документ и смотрим значения.
Если выбранное нами там есть - ничего не делаем, если его нет - добавляем.
Естественно данный настроечный документ должен быть открыт всем для редактирования, но спрятан в UI.

Вот как-то так, не слишком элегантно, да и несколько подводных камней есть (конфликт при сохранении), но решение вполне имеет место быть.
Спасибо, попробую. Да. не совсем гладко..

Добавлено:


Цитата Сообщение от savl
Вторая закладка свойств поля, галочка "Allow values not in list" это позволит руками добавлять значение, которого нет в списке.
Но список от этого не изменится. Чтобы список постоянно дополнялся можно сделать так:

1. Надо сделать настроечный документ, в документе сделать поле многозначное со списком значений.
2. В свойствах поля, где выбирают значения, на второй закладке в секции "Choices" вместо "Enter choices (one per line)" делаем "Use Formula fo choices"
3. В окошко ниже пишем формулу @DbLookUP(...), чтобы получать значения из нашего настоечного документа.
4. При сохранении документа так же получаем настроечный документ и смотрим значения.
Если выбранное нами там есть - ничего не делаем, если его нет - добавляем.
Естественно данный настроечный документ должен быть открыт всем для редактирования, но спрятан в UI.

Вот как-то так, не слишком элегантно, да и несколько подводных камней есть (конфликт при сохранении), но решение вполне имеет место быть.
Спасибо, попробую. Да. не совсем гладко..
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
01.07.2014, 11:57
Посмотрите как работает поле Categories в базе "Библиотека документов".
0
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
01.07.2014, 12:04
Цитата Сообщение от ученикLN
Спасибо, попробую. Да. не совсем гладко..
Можно и совсем "гладко":
1 помещаете на форму поле, где и находится список (дефолтный) для "листа"
2 Use Formula fo choices - @DbLookup или @DbCollumn из служебного вида (или уже существующего, сортированного вида, с нужными доками, дополнив его скрытой колонкой с нужным полем), где для отбора списка для "листа" - вышеозначенное поле. Ну и, конечно, для отобранного сделать @Unuque
3 при дополнении "листа" новым значением, дописываете это значение в поле для выбора.

P.S.
В самом начале, когда ещё нет ни одного сохраненного дока, для "листа" берёте дефолтное значение списка из того-же поля, а не из вида.
0
ученикtm
02.07.2014, 00:06
Цитата Сообщение от alexas1
Можно и совсем "гладко":
1 помещаете на форму поле, где и находится список (дефолтный) для "листа"
2 Use Formula fo choices - @DbLookup или @DbCollumn из служебного вида (или уже существующего, сортированного вида, с нужными доками, дополнив его скрытой колонкой с нужным полем), где для отбора списка для "листа" - вышеозначенное поле. Ну и, конечно, для отобранного сделать @Unuque
3 при дополнении "листа" новым значением, дописываете это значение в поле для выбора.

P.S.
В самом начале, когда ещё нет ни одного сохраненного дока, для "листа" берёте дефолтное значение списка из того-же поля, а не из вида.
Да, похоже единственный способ. Он и предлагается в свойствах. Еще раз проутюжил LotusScript, увы зацепиться за перечень в списке не получается. Если в поле ничего не выбрано, возвращает пустоту.
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc =ws.CurrentDocument
Dim item As NotesItem
Dim doc As NotesDocument
Set doc=uidoc.Document
Set item=doc.GetFirstItem("Reg_zakaz")

Forall v In item.Values
Messagebox(v)
End Forall

Хотел сделать так, рядом с полем повесить две кнопочки (Добавить и Удалить) .Пользователь выбирает из списка пункт или свой пишет ,если хочет нажимает добавить в список или выбрав пункт удаляет его из списка кнопкой удалить. Т.к. пунктов с выбором много придется колбасить с представлением.

alexas1, пожалуйста поясните для "листа" это как? Делаешь другую форму с полем списком, как savl советовал, далее представление в котором Dblookup по этому полю.....? И что такое служебное представление (служебный вид)?
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
02.07.2014, 10:11
Цитата Сообщение от ученикLN
alexas1, пожалуйста поясните для "листа" это как? Делаешь другую форму с полем списком, как savl советовал, далее представление в котором Dblookup по этому полю.....? И что такое служебное представление (служебный вид)?
В течении дня нарисую микропример. -_-
Сорри, за задержку
"служебный вид" - для использования в коде а не для показа в UI (обычно скрытый)
0
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
03.07.2014, 17:47
По дизайну:
Ничего лишнего в доке не сохраняется, вся инфа берётся из вида - для реализации добавил скрытую колонку (ListBox) в уже существующий сортированный вид (v1). Если ListBox (или DialogList) несколько, то в тот же вид добавляется нужное кол-во скрытых колонок.
Формула для поля DefaultList может быть такой:
a := "1 значение":"2 значение":"3 значение":"4 значение";
@Unique(@If (DefaultList="";a;DefaultList :ListBox));
0
ученикtm
03.07.2014, 23:59
Цитата Сообщение от alexas1
По дизайну:
Ничего лишнего в доке не сохраняется, вся инфа берётся из вида - для реализации добавил скрытую колонку (ListBox) в уже существующий сортированный вид (v1). Если ListBox (или DialogList) несколько, то в тот же вид добавляется нужное кол-во скрытых колонок.
Формула для поля DefaultList может быть такой:
a := "1 значение":"2 значение":"3 значение":"4 значение";
@Unique(@If (DefaultList="";a;DefaultList :ListBox));
alexas1, спасибо волшебник! Ясно, как белый день и правда гладко! А что думаешь над такой задачей. Есть поле список (часто использумых значений) из него пользователь выбирает, может набрать новое, но не сохранять в списке поскольку оно очень редкое и не будет засорять список и внести новое, но сохранить поскольку стало часто используемым. Выборочное сохранение и удаление элементов списка. Этот вариант, наверное, уже по методу savla через один настроечный документ в представлении и складывания списка в поле....?
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
04.07.2014, 18:47
Цитата Сообщение от ученикLN
А что думаешь над такой задачей ......
Я подумаю.
0
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
05.07.2014, 14:16
Раз требуется более или менее интенсивная работа со списком выбора, логично его держать в отдельном журнале: один элемент списка - один документ журнала.
Для работы со списком можно использовать вот эту мульку немного изменив логику работы:
Для пустого значения в строке поиска и для значений которые не нашлись - показывать в окне отбора ВЕСЬ список с заголовком типа "Выберите из списка или продолжите поиск". Одновременно показать кнопарь "Добавить в список", если поле не пусто, который может создать новый док, из того, что введено.
Для значения в строке поиска, в точности совпадающего с элементом списка, показать кнопарь "Удалить из списка" ("Добавить в список", конечно, скрыть).
Надо понимать, что при интенсивной работе с доками журнала задваивание доков возможно, поэтому использовать unique надо.
Соответственно, при удалении из списка (удаление соответствующего дока) надо удалять все найденные, а не первый. И обработать ситуацию возможной ошибки при удалении из-за отсутствующего дока (кто то мог удалить док, пока юзер был "в процессе")
Конфликтов не будет, интерфейс вроде логичный, задваивание записей в журнале не критично (хотя это можно исключить - только нафига?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.07.2014, 14:16
Помогаю со студенческими работами здесь

Как добавить запись из формы, содержащей поле со списком в таблицу acess
Добрый день, такая проблема есть вот такая форма с кнопкой добавить запись одно из полей формы представляет собой поле со списком,...

Как в документ Word-a вставить поле со списком, где список сделан из таблицы БД Access ?
Люди расскажите как в документ Word-a вставить поле со списком, где список сделан из таблицы БД Access

Список или поле со списком в отчете
Доброе время суток. Друзья, подскажите как можно сделать в отчете список или поле со списком. Всегда полагал, что так можно сделать...

Как добавить поле в таблицу Б, которое содержало бы список элементов А
Ситуация следующая: в базе данных есть таблица элементов А и таблица элементов Б. Как добавить поле в таблицу Б, которое содержало бы...

Добавить значение в поле со списком который находится в таблице
День добрый. Подскажите как в поле со списком (который находится в таблице2) добавить значение при помощи кода. 1. у Поля со списком...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru