Я отображаю список элементов, используя модель дерева столбцов SAP ABAP, в основном дерево папок и файлов со столбцами.
Я хочу динамически загружать подузлы папок, поэтому я использую событие EXPAND_NO_CHILDREN, которое запускается правильно.
К сожалению, после того, как я добавляю новые узлы и элементы в дерево, папка автоматически сворачивается снова, требуя второго щелчка для просмотра подузлов.
Нужно ли вызывать метод при обработке события, чтобы папка оставалась открытой, или я что-то не так делаю?
* Set up event handling.
LS_EVENT-EVENTID = CL_ITEM_TREE_CONTROL=>EVENTID_EXPAND_NO_CHILDREN.
LS_EVENT-APPL_EVENT = GC_X.
APPEND LS_EVENT TO LT_EVENTS.
CALL METHOD GO_MODEL->SET_REGISTERED_EVENTS
EXPORTING
EVENTS = LT_EVENTS
EXCEPTIONS
ILLEGAL_EVENT_COMBINATION = 1
UNKNOWN_EVENT = 2.
SET HANDLER GO_APPLICATION->HANDLE_EXPAND_NO_CHILDREN
FOR GO_MODEL.
...
* Add new data to tree.
CALL METHOD GO_MODEL->ADD_NODES
EXPORTING
NODE_TABLE = PTI_NODES[]
EXCEPTIONS
ERROR_IN_NODE_TABLE = 1.
CALL METHOD GO_MODEL->ADD_ITEMS
EXPORTING
ITEM_TABLE = PTI_ITEMS[]
EXCEPTIONS
NODE_NOT_FOUND = 1
ERROR_IN_ITEM_TABLE = 2.