|
![]() |
#1 |
Участник
|
Про свойство Mandatory
Возможно кто-то сталкивался с необходимостью указать пользователю на то, что поле является обязательным к заполнению ( нарисовать волнистое подчеркивание ), при этом не трогая свойство Mandatory поля таблицы. К примеру если есть необходимость заполнения поля по некоторому условию. Можно к примеру управлять этим свойством контрола, но не у всех контролов оно есть. Или просто втупую нарисовать волнистую линию через контекст окна, но это как то не особенно красиво.
Интересно кто как решает эту задачу???? |
|
![]() |
#2 |
Участник
|
Интересно, а у каких контролов нет св-ва Mandatory?
|
|
![]() |
#3 |
Участник
|
|
|
![]() |
#4 |
Участник
|
Действительно интересно. Никогда не встречал таких контролов. Если имеется в виду combobox, то у него действительно нет такого свойства, но не ввести в него значение не так-то просто - по умолчанию берется первое из enum, при попытке удалить восстанавливается.
|
|
![]() |
#5 |
Участник
|
Цитата:
Речь о комбобоксе и его свойствах зашла только в том смысле что он является визуализатором поля типа enum. Последний раз редактировалось simply2double; 28.12.2006 в 10:31. |
|
![]() |
#6 |
Участник
|
Привет!
Как вариант - сделать проверку контрола по событию (например на запись в таблицу) и елси он не заполнен, то ругатся. |
|
![]() |
#7 |
MCTS
|
У контролов в Dialog вообще отсутствует как понятие свойство Mandatory
Если уж очень хочется сделать диалоговые поля обязательными к заполнению, необходимо допиливать класс Dialog
__________________
![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
![]() |
#8 |
Участник
|
Цитата:
public Object dialog() { ................... FormStringControl fsc; ; ................. dlgXXX= dialog.addFieldValue(typeid(XXX),XXX); fsc = ddlgXXX.control(); fsc.mandatory(true); ............................. и вполне сносно работает ![]()
__________________
любитель портвейна и снов с прокисшей капустой в усах |
|
![]() |
#9 |
Участник
|
Цитата:
Сообщение от eugene egorov
![]() Это не совсем так. Решается легко следующими фрагментами кода:
public Object dialog() { ................... FormStringControl fsc; ; ................. dlgXXX= dialog.addFieldValue(typeid(XXX),XXX); fsc = ddlgXXX.control(); fsc.mandatory(true); ............................. и вполне сносно работает ![]() ![]() и получишь ты в рантайме такое послание: Ошибка времени выполнения. : FormBuildComboBoxControl Объект не имеет метода 'mandatory'. Трассировка стека: (C) \Classes\FormBuildComboBoxControl\mandatory (C) \Classes\FormButtonControl\Clicked - line 32 |
|
![]() |
#10 |
Программатор
|
ListView
![]() |
|
![]() |
#11 |
NavAx
|
А если тронуть свойство поля datasource?
![]()
__________________
Isn't it nice when things just work? |
|
![]() |
#12 |
Гость
|
Добрый день.
Появилось желание "подсветить" поле. Но есть затычка - поле display. CustTable_ds.object(fieldnum(Custtable,FIELDNAME)) уже не пашет ![]() |
|
![]() |
#13 |
Гость
|
|
|
![]() |
#14 |
Axapta
|
Эмм... А зачем подсвечивать display-поле? Edit - еще понятно, но display?
Но, в любом случае, если это не поле таблицы, то чем не подходит AutoDeclaration = true и потом просто ставим MyControl.mandatory(true)? Или хочется сразу "везде", где этот метод на форме используется? |
|
![]() |
#15 |
Banned
|
Хочу только отметить, что установка свойства Mandatory на Edit-поле в runtime приводит к крэшу Аксапты.
|
|
![]() |
#16 |
Гость
|
|
|
![]() |
#17 |
Axapta
|
|
|
![]() |
#18 |
Участник
|
Цитата:
Пробовал в init() и run() формы - отрабатывало нормально.
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#19 |
Axapta
|
|
|
![]() |
#20 |
Злыдни
|
Все зависит от SP Axapta:
свойство mandatory на edit полях формы приводит к крэш на SP3, на SP2 этого эффекта нет, по последующим SP у меня нет сведений ![]()
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|