Публикация
Динамическое изменение обязательности заполнения поля
28 ноября 2008 14:08
Например, есть поле у которого мы хотим динамически включать/выключать "обязательность заполнения".
Для этого можно использовать следующую функцию:
function SetFieldIsRequried(Window, Dataset, FieldName, IsRequired) {
if (!Assigned(Window)) {
return;
}
if (IsRequired != false) {
var IsRequired = true;
}
if (IsRequired) {
Window.ComponentsByName('edt' + FieldName).CaptionColor =
LayoutLookAndFeelRequiredItemColor;
} else {
Window.ComponentsByName('edt' + FieldName).CaptionColor =
LayoutLookAndFeelDefaultItemColor;
}
Dataset.DataFields.ItemsByName(FieldName).IsRequired = IsRequired;
}
if (!Assigned(Window)) {
return;
}
if (IsRequired != false) {
var IsRequired = true;
}
if (IsRequired) {
Window.ComponentsByName('edt' + FieldName).CaptionColor =
LayoutLookAndFeelRequiredItemColor;
} else {
Window.ComponentsByName('edt' + FieldName).CaptionColor =
LayoutLookAndFeelDefaultItemColor;
}
Dataset.DataFields.ItemsByName(FieldName).IsRequired = IsRequired;
}
Нужно удостовериться что в вашем скрипте подключен скрипт "scr_Consts",
где описаны 2 константы:
var LayoutLookAndFeelRequiredItemColor = 0x076FF4;
var LayoutLookAndFeelDefaultItemColor = 0x874011;
var LayoutLookAndFeelDefaultItemColor = 0x874011;
3 декабря 2008 14:05
Для получения цвета лучше использовать следующую функцию:
var Default16LayoutBlackColor = 0x000000; function GetControlCaptionColorByThemeIsRequirment(IsRequired){ var Color; var Theme = Connector.Attributes('THEME'); var UseTheme = !((Theme.toUpperCase() == 'FALSE')||(Theme == '0')) if (IsRequired) { if (UseTheme){ Color = LayoutLookAndFeelRequiredItemColor; } else { Color = Default16LayoutRedColor; } } else { if (UseTheme){ Color = LayoutLookAndFeelDefaultItemColor; } else { Color = Default16LayoutBlackColor; } } return Color; }
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать