Модель дерева столбцов не раскрывает узел после события EXPAND_NO_CHILDREN
Я показываю список элементов, используя модель дерева столбцов 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.
Ответов (2)2
Прошло много времени с тех пор, как я играл с SAP, но я всегда находил библиотеку SAP особенно полезной, когда я застревал ...
Мне удалось придумать для вас вот это: http://help.sap.com/saphelp_nw04/helpdata/en/47/aa7a18c80a11d3a6f90000e83dd863/frameset.htm , а именно:
Когда вы добавляете новые узлы в модель дерева, установите для флага ITEMSINCOM значение «X».
Это сообщает модели дерева, что вы хотите загружать элементы для этого узла по запросу.
Надеюсь, это поможет?