cro-logo      
Добро пожаловать, Гость. Пожалуйста, выберите Вход

 
 
  ГлавнаяСправкаПоискВход  
 
Страниц: 1 2 
Послать Тему Печать
Вводная форма, словарь и множественное значение (Прочитано 2 641 раз)
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 025
Санкт-Петербург
Re: Вводная форма, словарь и множественное значение
Ответ #15 - 19.11.2021 :: 00:24:14
 
Инициируете событие DataChanged у поля и обработчик этого события

Код:
function field13_1_DataChanged( control, data, event )
	local vals={}
	for i=1,control.ValuesCount do
		table.insert(vals,control:GetDecodedValue(i, 1) )
	end
	table.insert(vals,sl(3,data) )
	Me.textbox1.Text=table.concat(vals,"; ")
	return true
end 

Наверх
 
 
IP записан
 
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: Вводная форма, словарь и множественное значение
Ответ #16 - 19.11.2021 :: 09:57:51
 
Спасибо большое!

А вот допустим можно на кнопку повесить вызов формы словаря или вызов "Значение кратного поля" ?
А ещё можно как-то программно вызвать редактор текста, который есть в виде кнопки "внешний редактор" текстового поля?

А ещё на форму видел, что некоторые используют ProgressBar, а я его не нашёл в "элементах формы".

...

Спасибо!
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 025
Санкт-Петербург
Re: Вводная форма, словарь и множественное значение
Ответ #17 - 19.11.2021 :: 10:36:25
 
В свойствах поля "внешний редактор" или отдельная кнопка с методом ShowExternalEditor.
ProgressBar либо самодельный, о чем обсуждалось на форуме, либо из формул функция STARTBAR и иже с ней.
1
2
3
Наверх
 
 
IP записан
 
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: Вводная форма, словарь и множественное значение
Ответ #18 - 19.11.2021 :: 12:35:24
 
Спасибо за ответ.

В вашем примере событие DataChanged срабатывает только при вызове формы "Словарь", но при вызове формы "Значение кратного поля" это не происходит
А допустим есть ли какая-то возможность создать поле13 невидимым, рядом с ним разместить кнопку и эта кнопка будет вызывать форму "Значение кратного поля", в котором удобно создать набор словарных значений. И потом уже с этим набором работать.


а ещё вопрос по вашему коду - почему при первом выборе значения из словаря control.ValuesCount равно ноль? А затем оно идёт с отставанием на единицу

так же не совсем понял почему, если я из поле13 (которое словарь) удаляю ранее введенное значение, событие DataChanged не вызывается. Удаляю просто клавишей Del на клавиатуре.

Спасибо.
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 025
Санкт-Петербург
Re: Вводная форма, словарь и множественное значение
Ответ #19 - 19.11.2021 :: 13:00:44
 
Событие DataChanged к сожалению не документировано. С работой пришлось разбираться опытным путем. Исходя из названия оно должно отрабатывать при изменении данных в поле. Можно использовать для контроля введенных данных, поэтому отрабатывает без последнего введенного значения, которое передается в функцию вторым параметром. Почему событие не отрабатывает при удалении значения вопрос к разработчикам.
Цитата:
есть ли какая-то возможность создать поле13 невидимым
все есть в свойствах поля и программно, видимость и доступность, размеры в 0, размещение за другими элементами.
Учите пользователей встроенным режимам ввода/коррекции с ответственностью за введенные данные и все будет хорошо.
Наверх
 
 
IP записан
 
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: Вводная форма, словарь и множественное значение
Ответ #20 - 19.11.2021 :: 13:13:13
 
а программно вызывать окно словарь или Значение кратного поля есть?

ещё обратил внимание, что в словарном поле можно выбрать одно и тоже значение несколько раз и Control не выдаст ошибки
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 025
Санкт-Петербург
Re: Вводная форма, словарь и множественное значение
Ответ #21 - 19.11.2021 :: 15:06:38
 
Цитата:
а программно вызывать окно словарь или Значение кратного поля есть?

В формулах функция GETVOCCODE. Можно вызывать из Lua.
Цитата:
в словарном поле можно выбрать одно и тоже значение несколько раз и Control не выдаст ошибки

Регулируется в структуре в свойствах поля. Можно проверять формулами в структуре и удалять.
Наверх
 
 
IP записан
 
Страниц: 1 2 
Послать Тему Печать