Я показываю список элементов, используя модель дерева столбцов 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.