Копировать ссылку на страницу

Для работы с данным диалогом используется объект ITreeListSelectDialog, создаваемый с помощью системной функции CreateTreeListSelectDialog.

Постановка задачи

Необходимо создать диалог с выбором в список комплектующих, расположенных в узлах дерева.

Программный код

 

VehicleDlg = CreateTreeListSelectDialog("Комплектующие")

VehicleDlg.AvailableItemsTitle = 'Металлолом:'

VehicleDlg.SelectedItemsTitle = 'Желаемые комплектующие:'

VehicleDlg.AvailableItemsColumnTitle = 'Запчасти'

VehicleDlg.ImagesEnabled = True

 

// Задание элементов дерева

 

VehicleDlg.AddAvailableItem(

  "Грузовик"; // ИД элемента

  ;// ИД родительского элемента не указан, так как текущий элемент является родительским

  "Грузовик";// Заголовок элемента

  "AddBreakpointIcon";// Имя значка доступного узла

  "SignatureIsValidIcon";// Имя значка выбранного узла

  SELECT_TYPE_SELECTABLE_ONLY_CHILD)// Тип выбора узла

 

VehicleDlg.AddAvailableItem("Motor V8 3.0 450"; "Грузовик";

  "Двигатель V8 3.0 450 л.с."; "AddBreakpointIcon"; "SignatureIsValidIcon";

  SELECT_TYPE_SELECTABLE)

VehicleDlg.AddAvailableItem("Left Front Door"; "Грузовик"; "Левая передняя дверь";

  "AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)

VehicleDlg.AddAvailableItem("Right Front Door"; "Грузовик"; "Правая передняя дверь";

  "AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)

 

VehicleDlg.AddAvailableItem("Трактор";;"Трактор"; "AddBreakpointIcon";

  "SignatureIsValidIcon"; SELECT_TYPE_UNSELECTABLE)

VehicleDlg.AddAvailableItem("Motor V8 3.0 650"; "Трактор";

  "Двигатель V8 3.0 650 л.с."; "AddBreakpointIcon"; "SignatureIsValidIcon";

  SELECT_TYPE_SELECTABLE)

VehicleDlg.AddAvailableItem("Trunk Lid"; "Трактор"; "Багажник"; 

  "AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)

VehicleDlg.AddAvailableItem("Front window"; "Трактор"; "Лобовое стекло";

  "AddBreakpointIcon"; "SignatureIsValidIcon";

    SELECT_TYPE_SELECTABLE_WITH_CHILD)

VehicleDlg.AddAvailableItem("Rubber seal"; "Front window"; "Резиновый 

  уплотнитель";

  "AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)

VehicleDlg.AddAvailableItem("Leather Interior"; "Трактор"; "Салон";

  "AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)

VehicleDlg.AddAvailableItem("Vehicle Body"; "Трактор"; "Кузов"; 

  "AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)

 

VehicleDlg.AddAvailableItem("Wheels"; ""; "Колеса"; 

  "AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)

VehicleDlg.AddAvailableItem("Кear silencer"; ""; "Глушитель"; 

  "AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)

 

// Открытие диалога

 

VehicleDlg.AvailableItems.First

if VehicleDlg.Execute

  Text = ""

  ds = VehicleDlg.SelectedItems

  ds.First

  while not ds.EOF

    Text = Text & CR & VehicleDlg.SelectedItems.Requisites('Title').AsString 

    ds.Next

  endwhile

  if Text == ""

    Showmessage("Вы ничего не выбрали")

  else

    Showmessage("Вы выбрали:" & Text)

  endif

else

  Showmessage("Вы ничего не хотите?")

endif

В результате данных вычислений будет создан диалог выбора в список комплектующих, расположенных в узлах дерева:

Щелкните для увеличения изображения

Выбранные комплектующие отмечены в дереве значком .

Подробнее о методах и свойствах объекта ITreeListSelectDialog см. раздел «ITreeListSelectDialog – диалог выбора элементов дерева для добавления в список».

© 2016 Компания DIRECTUM Сообщество пользователей DIRECTUM