Инструменты пользователя

Инструменты сайта


axapta:klass:syslistpanel

Раздел: ИнтерфейсПользователя


Класс SysListPanel и его наследники используются для отображения панелей выбора на формах Dynamics AX.

toc

SysListPanel_Users.PNG

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

SysListPanel_HierarchyTree.PNG

Перечень методов класса с описанием

(Перечень методов взят в алфавитном порядке из Microsoft Dynamics AX 4.0 SP1 EE)

  • add - вызывается автоматически в результате наступления одного из четырех событий: нажата кнопка добавить в левую панель, нажата кнопка добавить все в левую панель, выполнен двойной щелчок на одном из элементов правой панели, один (или более) из элементов правой панели мышью перетаскивается и опускается на левую панель (drag'n'drop). Метод выполняет перенос элементов между панелями (используется метод moveOneItem), при этом обновляя данные (используется метод addData).
  • addData - абстрактный метод, отвечающий за обработку, которая выполняется при переносе значений из правой панели в левую. Метод необходимо реализовать в наследниках.
  • addPanelClass - метод используется в том случае, если на форме, которая содержит панели выбора, уже есть внешний обработчик событий.
  • build - метод обязательно необходимо вызвать. Он отвечает за добавление всех элементов управления, необходимых для функционирования панелей выбора, на форму. Должен вызываться до super() в методе init() формы.
  • context_left - вызывается обработчиком события вызова контекстного меню на левой панели. Может быть перекрыт в наследниках. По умолчанию просто вызывает системный обработчик этого события.
  • context_right - вызывается обработчиком события вызова контекстного меню на правой панели. Может быть перекрыт в наследниках. По умолчанию просто вызывает системный обработчик этого события.
  • dragOver_left - вызывается обработчиком события перетаскивания на левую панель объекта из правой. Может быть перекрыт в наследниках. По умолчанию только обновляет активность кнопок Вниз/Вверх
  • enableButtons - обновляет активность всех кнопок формы
  • enableButtons_upDown - обновляет активность кнопок Вниз/Вверх
  • fill - заполняет обе панели данными. Для этого сперва вызывается метод getData. После этого последовательно заполняются панели (используется метод fillView). После этого обновляетя состояние кнопок.
  • fillView - заполняет указанную панель указанными данными.
  • finalize - метод можно перекрыть, добавив в него дополнительные механизмы очистки созданных в процессе работы объектов и освобождения ресурсов.
  • formSplitter - возвращает указатель на сплиттер между панелями (он проходит по кнопкам и не виден). Но он там есть :)
  • getData - абстрактный метод, который нужно реализовать в наследнике. Отбирает данные, которые будут отображаться в панелях.
  • getPanelClassList - возвращает список (List) обработчиков событий формы с панелями выбора.
  • hasControl - по сути, содержит перечень всех возможных элементов формы с панелями выбора. Возвращает true, если выбран один из этих элементов и False в противном случае.
  • init - инициализирует переменные объектов всех элементов управления формы с панелями выбора. Должен вызываться после super() в методе init() формы.
  • initListView - вызывается из метода build для обоих панелей для задания свойств их отображения.
  • moveDown_Left - вызывается обработчиком события клика по кнопке Вниз на левой панели. Опускает выбранный в левой панели элемент на 1 позицию вниз.
  • moveDrop_Left - вызывается обработчиком события отпускания объекта в режиме drag'n'drop, если источником действия является левая панель. По сути, это многократное нажатие кнопок Вверх/Вниз.
  • moveOneItem - переносит один элемент списка из одной панели в другую.
  • moveUp_Left - вызывается обработчиком события клика по кнопке Вверх на левой панели. Перемещает выбранный в левой панели элемент на 1 позицию вверх.
  • numOfColumns - количество колонок в панели. По умолчанию = 1, может быть перекрыт в наследниках.
  • numOfColumnsLeft - количество колонок в левой панели. По умолчанию = значению numOfColumns.
  • numOfColumnsRight - количество колонок в правой панели. По умолчанию = значению numOfColumns.
  • panel_add_clicked - обработчик события кнопки Добавить (<). Вызывает метод add.
  • panel_addAll_clicked - обработчик события кнопки Добавить Все («). Вызывает метод add.
  • panel_remove_clicked - обработчик события кнопки Удалить (>). Вызывает метод remove*. * panel_removeAll_clicked - обработчик события кнопки Удалить Все (»). Вызывает метод remove. * panel_separator_mouseDown - обработчик события нажатия левой кнопки мыши на сплиттере. * panel_separator_mouseMove - обработчик события движения мыши для сплиттера. * panel_separator_mouseUp - обработчик события отжатия (отпускания) левой кнопки мыши на сплиттере. * panel_viewLeft_context - обработчик события вызова контекстного меню на левой панели. Вызывает метод context_left. * panel_viewLeft_Down_clicked - обработчик нажатия кнопки Вниз. Вызывает метод moveDown_Left. * panel_viewLeft_dragOver - обработчик события перетаскивания элемента списка на левую панель. * panel_viewLeft_drop - обработчик события опускания элемента списка на левую панель. В зависимости от источника элемета списка вызывается метод add или метод moveDrop_Left. * panel_viewLeft_mouseDBLClick - обработчик двойного щелчка мышью по левой панели. Вызывает метод remove. * panel_viewLeft_selectionChanged - обработчик события изменения активного элемента левой панели. Вызывает метод selectionChanged_left. * panel_viewLeft_Up_clicked - обработчик нажатия кнопки Вверх. Вызывает метод moveUp_Left. * panel_viewRight_context - обработчик события вызова контекстного меню на правой панели. Вызывает метод context_right. * panel_viewRight_drop - обработчик события опускания элемента списка на правую панель. Вызывает метод remove. * panel_viewRight_mouseDBLClick - обработчик двойного щелчка мышью по правой панели. Вызывает метод add. * panel_viewRight_selectionChanged - обработчик события изменения активного элемента правой панели. Вызывает метод selectionChanged_right. * parmCaptionLeft - устанавливает/считывает заголовок группы, в которой находится левая панель. * parmCaptionRight - устанавливает/считывает заголовок группы, в которой находится правая панель. * parmFormRun - устанавливает/считывает объект формы, на которой размещается панель выбора. * parmHasAddAllButton - устанавливает/считывает параметр наличия кнопки Добавить Все на панели выбора. * parmHasRemoveAllButton - устанавливает/считывает параметр наличия кнопки Удалить Все на панели выбора. * parmHasUpDownButton - устанавливает/считывает параметр наличия кнопок Вверх и Вниз на панели выбора. * parmImageId - устанавливает/считывает код картинки, которая будет использоваться при выводе элементов панелей. * parmImageList - устанавливает/считывает перечень картинок, которые будут использоваться при выводе элементов панелей (код картинки храниться в контейнере вместе с данными). * parmItemsNeeded - устанавливает/считывает минимальное количество элементов, которое должно быть в левой панели. * parmParentId - устанавливает/считывает код элемента формы, который будет содержать панели выбора. Если этот параметр не задан, используется дизайн формы. * parmReloadMethod - устанавливает/считывает название метода, который будет вызываться после добавления/удаления элемента списка с левой панели. * parmUseImageListOverlay - устанавливает/считывает параметр использования overlay картинки поверх основного изображения рядом с каждым элементом. * parmValidateMethod - устанавливает/считывает название метода, который будет вызываться перед добавлением/удалением элемента списка с левой панели. * parmViewLeft - устанавливает/считывает объект элемента формы (списка) левой панели. * parmviewRight - устанавливает/считывает объект элемента формы (списка) правой панели. * positionsUpdated - содержит перечень позиций всех элементов левой панели. Вызывается при любом изменении расположения элементов списка левой панели. * reload - вызывает метод, если он присутствует на форме и указан в методе parmReloadMethod. * remove - вызывается автоматически в результате наступления одного из четырех событий: нажата кнопка Удалить из левую панель, нажата кнопка Удалить все из левую панель, выполнен двойной щелчок на одном из элементов левой панели, один (или более) из элементов левой панели мышью перетаскивается и опускается на правую панель (drag'n'drop). Метод выполняет перенос элементов между панелями (используется метод moveOneItem), при этом обновляя данные (используется метод removeData). * removeData - абстрактный метод, отвечающий за обработку, которая выполняется при переносе значений из левой панели в правую. Метод необходимо реализовать в наследниках. * revive - возвращает объект класса SysListPanel, который является обработчиком событий на форме с панелями выбора. * selectionChanged_left - обновляет состояние кнопок Вверх/Вниз (используется метод enableButtons_upDown). Может быть перекрыт в наследниках. * selectionChanged_right - ничего не выполняет. Может быть перекрыт в наследниках. * setDropHilited - вызывается при добавлении элемента списка в левую панель (drag'n'drop). * sortMethod - задает метод сортировки элементов списка по умолчанию. * updatePosition - перемещает элемент списка с одной позиции на другую. * validate - вызывает метод, если он присутствует на форме и указан в методе parmValidateMethod**. Испльзуется для задания проверки на возможность добавления/удаления элементов списка левой панели.

Смотри также

axapta/klass/syslistpanel.txt · Последнее изменение: 2018/04/13 22:43 (внешнее изменение)