ПолеВыбора (ComboBox) Конструктор

Синтаксис

ПолеВыбора()

Параметры

Описание

Используйте метод ФормыДляОдноСкрипта.ПолеВыбора (OneScriptForms.ComboBox) для создания нового экземпляра класса ПолеВыбора (ComboBox).

Примечание

Если среди элементов списка встретится элемент, тип значения которого не является строковым, числовым, булевым или датой, его отображение будет зависеть от того, задано ли для поля выбора свойство ПолеВыбора.ИндексВыбранногоИзменен (ComboBox.SelectedIndexChanged).

При заданном свойстве для отображения элемента будет использовано его имя, установленное его атрибутом класса (например [ContextClass("КлФорма", "ClForm")]).

Иначе для отображения элемента будет использовано его строковое представление типа в сборке.

При свойстве ПолеВыбора.РежимРисования (ComboBox.DrawMode), установленным отличным от Стандартный (Normal), для отображения элемента будет использовано его строковое представление типа в сборке.

Пример

  • Заполнение поля выбора с помощью массива как источника данных:
  • МассивСписок1 = Ф.МассивСписок();
    МассивСписок1.Добавить("Строка текста");
    МассивСписок1.Добавить(15.555);
    МассивСписок1.Добавить(Истина);
    МассивСписок1.Добавить(Дата(1984,03,26,06,24,21));
    МассивСписок1.Добавить(Новый Массив());
    МассивСписок1.Добавить(Форма1);
    ПолеВыбора1.ИсточникДанных = МассивСписок1;
    
    Полный пример кода

    Копировать     Выделить всё
    
    Перем Ф, ПолеВыбора1; Процедура ПолеВыбора1_ИндексВыбранногоИзменен() Экспорт Сообщить("Выбран элемент под индексом " + ПолеВыбора1.ИндексВыбранного); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Ширина = 310; Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); ПолеВыбора1 = Ф.ПолеВыбора(); ПолеВыбора1.Родитель = Форма1; ПолеВыбора1.Ширина = 300; ПолеВыбора1.СтильВыпадающегоСписка = Ф.СтильПоляВыбора.Редактируемый; ПолеВыбора1.РежимРисования = Ф.РежимРисования.ВручнуюПеременный; ПолеВыбора1.ИндексВыбранногоИзменен = Ф.Действие(ЭтотОбъект, "ПолеВыбора1_ИндексВыбранногоИзменен"); МассивСписок1 = Ф.МассивСписок(); МассивСписок1.Добавить("Строка текста"); МассивСписок1.Добавить(15.555); МассивСписок1.Добавить(Истина); МассивСписок1.Добавить(Дата(1984,03,26,06,24,21)); МассивСписок1.Добавить(Новый Массив()); МассивСписок1.Добавить(Форма1); ПолеВыбора1.ИсточникДанных = МассивСписок1; Ф.ЗапуститьОбработкуСобытий();

    Тестовый код

    Копировать     Выделить всё
    
    Перем Ф, ПолеВыбора1; Процедура ПолеВыбора1_ИндексВыбранногоИзменен() Экспорт // Сообщить("Выбран элемент под индексом " + ПолеВыбора1.ИндексВыбранного); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Ширина = 310; Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); ПолеВыбора1 = Ф.ПолеВыбора(); ПолеВыбора1.Родитель = Форма1; ПолеВыбора1.Ширина = 300; ПолеВыбора1.СтильВыпадающегоСписка = Ф.СтильПоляВыбора.Редактируемый; ПолеВыбора1.РежимРисования = Ф.РежимРисования.ВручнуюПеременный; ПолеВыбора1.ИндексВыбранногоИзменен = Ф.Действие(ЭтотОбъект, "ПолеВыбора1_ИндексВыбранногоИзменен"); МассивСписок1 = Ф.МассивСписок(); МассивСписок1.Добавить("Строка текста"); МассивСписок1.Добавить(15.555); МассивСписок1.Добавить(Истина); МассивСписок1.Добавить(Дата(1984,03,26,06,24,21)); МассивСписок1.Добавить(Новый Массив()); МассивСписок1.Добавить(Форма1); ПолеВыбора1.ИсточникДанных = МассивСписок1; Сообщить(?( ПолеВыбора1.ИсточникДанных = МассивСписок1 , "", "!!! ") + "ПолеВыбора (ComboBox) Конструктор" + " " + ТекущаяДата());


  • Заполнение поля выбора с помощью таблицы данных как источника данных:
  • ПолеВыбора1.ИсточникДанных = ТаблицаДанных1;  
    
    Полный пример кода

    Копировать     Выделить всё
    
    Перем Ф, ПолеВыбора1; Процедура ПолеВыбора1_ИндексВыбранногоИзменен() Экспорт // Сообщить("Выбран элемент под индексом " + ПолеВыбора1.ИндексВыбранного); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); ПолеВыбора1 = Ф.ПолеВыбора(); ПолеВыбора1.Родитель = Форма1; ПолеВыбора1.Ширина = Форма1.Ширина - 10; ПолеВыбора1.РежимРисования = Ф.РежимРисования.ВручнуюПеременный; ПолеВыбора1.ИндексВыбранногоИзменен = Ф.Действие(ЭтотОбъект, "ПолеВыбора1_ИндексВыбранногоИзменен"); ТаблицаДанных1 = Ф.ТаблицаДанных(); ТаблицаДанных1.ИмяТаблицы = "ТД1"; КолонкиТаб = ТаблицаДанных1.Колонки; Колонка0 = КолонкиТаб.Добавить(Ф.КолонкаДанных("ФИО", Ф.ТипДанных.Строка)); Колонка1 = КолонкиТаб.Добавить(Ф.КолонкаДанных("№ телефона", Ф.ТипДанных.Число)); Колонка2 = КолонкиТаб.Добавить(Ф.КолонкаДанных("Высшее образование", Ф.ТипДанных.Булево)); Колонка3 = КолонкиТаб.Добавить(Ф.КолонкаДанных("ДатаРождения", Ф.ТипДанных.Дата)); Колонка4 = КолонкиТаб.Добавить(Ф.КолонкаДанных("Объект1", Ф.ТипДанных.Объект)); Колонка5 = КолонкиТаб.Добавить(Ф.КолонкаДанных("Объект2", Ф.ТипДанных.Объект)); ТекСтрока = ТаблицаДанных1.Строки.Добавить(ТаблицаДанных1.НоваяСтрока()); ТекСтрока.УстановитьЭлемент("ФИО", "Иванов Иван Иванович"); ТекСтрока.УстановитьЭлемент("№ телефона", "123456"); ТекСтрока.УстановитьЭлемент("Высшее образование", Истина); ТекСтрока.УстановитьЭлемент("ДатаРождения", Дата(1984,03,26)); ТекСтрока.УстановитьЭлемент("Объект1", Форма1); ТекСтрока.УстановитьЭлемент("Объект2", ПолеВыбора1); ТекСтрока = ТаблицаДанных1.Строки.Добавить(ТаблицаДанных1.НоваяСтрока()); ТекСтрока.УстановитьЭлемент("ФИО", "Петров Петр Петрович"); ТекСтрока.УстановитьЭлемент("№ телефона", "654321"); ТекСтрока.УстановитьЭлемент("Высшее образование", Ложь); ТекСтрока.УстановитьЭлемент("ДатаРождения", Дата(1985,05,29)); ТекСтрока.УстановитьЭлемент("Объект1", ПолеВыбора1); ТекСтрока.УстановитьЭлемент("Объект2", Форма1); ТекСтрока = ТаблицаДанных1.Строки.Добавить(ТаблицаДанных1.НоваяСтрока()); ТекСтрока.УстановитьЭлемент("ФИО", "Сидоров Сидор Сидорович"); ТекСтрока.УстановитьЭлемент("№ телефона", "654321"); ТекСтрока.УстановитьЭлемент("Высшее образование", Ложь); ТекСтрока.УстановитьЭлемент("ДатаРождения", Дата(1980,09,09)); ТекСтрока.УстановитьЭлемент("Объект1", Форма1); ТекСтрока.УстановитьЭлемент("Объект2", ПолеВыбора1); ПолеВыбора1.ОтображениеЭлемента = "Высшее образование"; ПолеВыбора1.ЗначениеЭлемента = "ФИО"; ПолеВыбора1.ИсточникДанных = ТаблицаДанных1; Ф.ЗапуститьОбработкуСобытий();

    Тестовый код

    Копировать     Выделить всё
    
    Перем Ф, ПолеВыбора1; Процедура ПолеВыбора1_ИндексВыбранногоИзменен() Экспорт // Сообщить("Выбран элемент под индексом " + ПолеВыбора1.ИндексВыбранного); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); ПолеВыбора1 = Ф.ПолеВыбора(); ПолеВыбора1.Родитель = Форма1; ПолеВыбора1.Ширина = Форма1.Ширина - 10; ПолеВыбора1.РежимРисования = Ф.РежимРисования.ВручнуюПеременный; ПолеВыбора1.ИндексВыбранногоИзменен = Ф.Действие(ЭтотОбъект, "ПолеВыбора1_ИндексВыбранногоИзменен"); ТаблицаДанных1 = Ф.ТаблицаДанных(); ТаблицаДанных1.ИмяТаблицы = "ТД1"; КолонкиТаб = ТаблицаДанных1.Колонки; Колонка0 = КолонкиТаб.Добавить(Ф.КолонкаДанных("ФИО", Ф.ТипДанных.Строка)); Колонка1 = КолонкиТаб.Добавить(Ф.КолонкаДанных("№ телефона", Ф.ТипДанных.Число)); Колонка2 = КолонкиТаб.Добавить(Ф.КолонкаДанных("Высшее образование", Ф.ТипДанных.Булево)); Колонка3 = КолонкиТаб.Добавить(Ф.КолонкаДанных("ДатаРождения", Ф.ТипДанных.Дата)); Колонка4 = КолонкиТаб.Добавить(Ф.КолонкаДанных("Объект1", Ф.ТипДанных.Объект)); Колонка5 = КолонкиТаб.Добавить(Ф.КолонкаДанных("Объект2", Ф.ТипДанных.Объект)); ТекСтрока = ТаблицаДанных1.Строки.Добавить(ТаблицаДанных1.НоваяСтрока()); ТекСтрока.УстановитьЭлемент("ФИО", "Иванов Иван Иванович"); ТекСтрока.УстановитьЭлемент("№ телефона", "123456"); ТекСтрока.УстановитьЭлемент("Высшее образование", Истина); ТекСтрока.УстановитьЭлемент("ДатаРождения", Дата(1984,03,26)); ТекСтрока.УстановитьЭлемент("Объект1", Форма1); ТекСтрока.УстановитьЭлемент("Объект2", ПолеВыбора1); ТекСтрока = ТаблицаДанных1.Строки.Добавить(ТаблицаДанных1.НоваяСтрока()); ТекСтрока.УстановитьЭлемент("ФИО", "Петров Петр Петрович"); ТекСтрока.УстановитьЭлемент("№ телефона", "654321"); ТекСтрока.УстановитьЭлемент("Высшее образование", Ложь); ТекСтрока.УстановитьЭлемент("ДатаРождения", Дата(1985,05,29)); ТекСтрока.УстановитьЭлемент("Объект1", ПолеВыбора1); ТекСтрока.УстановитьЭлемент("Объект2", Форма1); ТекСтрока = ТаблицаДанных1.Строки.Добавить(ТаблицаДанных1.НоваяСтрока()); ТекСтрока.УстановитьЭлемент("ФИО", "Сидоров Сидор Сидорович"); ТекСтрока.УстановитьЭлемент("№ телефона", "654321"); ТекСтрока.УстановитьЭлемент("Высшее образование", Ложь); ТекСтрока.УстановитьЭлемент("ДатаРождения", Дата(1980,09,09)); ТекСтрока.УстановитьЭлемент("Объект1", Форма1); ТекСтрока.УстановитьЭлемент("Объект2", ПолеВыбора1); ПолеВыбора1.ОтображениеЭлемента = "Высшее образование"; ПолеВыбора1.ЗначениеЭлемента = "ФИО"; ПолеВыбора1.ИсточникДанных = ТаблицаДанных1; Сообщить(?( ПолеВыбора1.ИсточникДанных = ТаблицаДанных1 , "", "!!! ") + "ПолеВыбора (ComboBox) Конструктор" + " " + ТекущаяДата());


  • Заполнение поля выбора с помощью свойства ПолеВыбора.Элементы (ComboBox.Items) (вариант 1):
  • ЭлементыПоляВыбора1 = ПолеВыбора1.Элементы;
    ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Строка", "СтрЗначение"));
    
    Полный пример кода

    Копировать     Выделить всё
    
    ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); ПолеВыбора1 = Ф.ПолеВыбора(); Форма1.ЭлементыУправления.Добавить(ПолеВыбора1); ПолеВыбора1.Ширина = Форма1.Ширина - 10; ЭлементыПоляВыбора1 = ПолеВыбора1.Элементы; ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Строка", "СтрЗначение")); ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Число", 156.54888)); ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Булево", Ложь)); ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Дата", (Дата(2019,01,02,03)))); ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Объект", Форма1)); ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Массив", Новый Массив())); Ф.ЗапуститьОбработкуСобытий();

    Тестовый код

    Копировать     Выделить всё
    
    ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); ПолеВыбора1 = Ф.ПолеВыбора(); Форма1.ЭлементыУправления.Добавить(ПолеВыбора1); ПолеВыбора1.Ширина = Форма1.Ширина - 10; ЭлементыПоляВыбора1 = ПолеВыбора1.Элементы; ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Строка", "СтрЗначение")); ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Число", 156.54888)); ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Булево", Ложь)); ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Дата", (Дата(2019,01,02,03)))); ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Объект", Форма1)); ЭлементыПоляВыбора1.Добавить(Ф.ЭлементСписка("Массив", Новый Массив())); Сообщить(?( ЭлементыПоляВыбора1.Количество = 6 , "", "!!! ") + "ПолеВыбора (ComboBox) Конструктор" + " " + ТекущаяДата());

    Свойства ОтображениеЭлемента (DisplayMember), ЗначениеЭлемента (ValueMember) задавать не нужно.

    Для отображения элемента будет использовано свойство ЭлементСписка.Текст (ListItem.Text), для значения элемента будет использовано свойство ЭлементСписка.Значение (ListItem.Value).


  • Заполнение поля выбора с помощью свойства ПолеВыбора.Элементы (ComboBox.Items) (вариант 2):
  • ЭлементыПоляВыбора1 = ПолеВыбора1.Элементы;
    ЭлементыПоляВыбора1.Добавить("Просто строка");
    
    Полный пример кода

    Копировать     Выделить всё
    
    ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); ПолеВыбора1 = Ф.ПолеВыбора(); ПолеВыбора1.Родитель = Форма1; ПолеВыбора1.Ширина = Форма1.Ширина - 10; ЭлементыПоляВыбора1 = ПолеВыбора1.Элементы; ЭлементыПоляВыбора1.Добавить("Просто строка"); ЭлементыПоляВыбора1.Добавить(18.245); ЭлементыПоляВыбора1.Добавить(Ложь); ЭлементыПоляВыбора1.Добавить(Дата(1984,03,26,06,24,21)); ЭлементыПоляВыбора1.Добавить(Ф.Кнопка()); Ф.ЗапуститьОбработкуСобытий();

    Тестовый код

    Копировать     Выделить всё
    
    ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); Форма1 = Ф.Форма(); Форма1.Отображать = Истина; Форма1.Показать(); Форма1.Активизировать(); ПолеВыбора1 = Ф.ПолеВыбора(); ПолеВыбора1.Родитель = Форма1; ПолеВыбора1.Ширина = Форма1.Ширина - 10; ЭлементыПоляВыбора1 = ПолеВыбора1.Элементы; ЭлементыПоляВыбора1.Добавить("Просто строка"); ЭлементыПоляВыбора1.Добавить(18.245); ЭлементыПоляВыбора1.Добавить(Ложь); ЭлементыПоляВыбора1.Добавить(Дата(1984,03,26,06,24,21)); ЭлементыПоляВыбора1.Добавить(Ф.Кнопка()); Сообщить(?( ЭлементыПоляВыбора1.Количество = 5 , "", "!!! ") + "ПолеВыбора (ComboBox) Конструктор" + " " + ТекущаяДата());

    Смотрите также

    ПолеВыбора (ComboBox) Класс | Библиотека OneScriptForms