Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => SE24 - Построитель объектов => Тема начата: jacknk88 от Ноябрь 29, 2012, 09:18:04 am
-
кто-нибудь знает как работать с cl_salv_tree ?.....какие особенности?...какие методы для настроек есть и как их использовать?....куда, в каком виде и что заносить?...и.т.д. ....может есть литература какая-то...курсы?
-
Ну продам явки адреса и пароли 8) электронный кошелек чуть позже опубликую... по картинке в SE80 там столько всего интересного будет.
-
спасибо....буду разберать примеры)))
-
у меня вопрос такой:
если событие на нажатие не по полю, а по узлу?....
есть событие link_click которое срабатывает если тип ячейки установить как button или link ... но это я так понимаю только для ячейки таблицы...
а вот как сделать на сам узел...родительский и дочерний?...не знаю....и не получается(((
-
а вот как сделать на сам узел...родительский и дочерний?...не знаю....и не получается(((
BCALV_GRID_DND_TREE - В этом примере при двойном клике на ветке дерева выполняется перерисовка ALV-таблицы рядом с деревом, можно взять за основу этот пример.
-
спасибо...самое то, что нужно)).....
есть вопросик один....в этом примере ALV выходит справа от дерева..а сделал чтобы она была снизу .....для этого прописал параметр SIDE при создании контейнера для ветки
Data: G_CONTAINER_OBJECT TYPE REF TO CL_GUI_DOCKING_CONTAINER.
...
...
...
CREATE OBJECT G_CONTAINER_OBJECT
EXPORTING SIDE = CL_GUI_DOCKING_CONTAINER=>DOCK_AT_TOP
EXTENSION = 1000
REPID = G_REPID
DYNNR = sy-dynnr
RATIO = 50
однако ALV осталась маленькой.....пытался растенуть ее методом
call method grid->SET_WIDTH
exporting
width = 1000
EXCEPTIONS
OTHERS = 1.
ничего не вышло...не знаете как можно ее растенуть по ширине?
-
все...сделал....нашел на одном форуме :)...все лишь надо было прописать cl_gui_container=>screen0 при создании ALV....
в BCALV_GRID_DND_TREE есть экран 0100 .... в PROCESS BEFORE OUTPUT идет вызов MODULE ALV_DISPLAY. где создается объект grid в качестве родительского контейнера котрого идет g_custom_container....так вот вместо него я прописал cl_gui_container=>screen0
create object grid
exporting
i_appl_events = selected "application event
i_parent = cl_gui_container=>screen0
-
в программу BCALV_GRID_DND_TREE я решил добавить checkbox-ы на узлы (ну я скопировал прогу всю ;D)....так вот....для этого я добавил в FORM REGISTER_EVENTS
CLEAR L_EVENT.
L_EVENT-EVENTID = CL_GUI_COLUMN_TREE=>EVENTID_CHECKBOX_CHANGE.
L_EVENT-APPL_EVENT = SELECTED.
APPEND L_EVENT TO LT_EVENTS.
и в FORM CREATETREECONTROL
SET HANDLER TREE_EVENT_RECEIVER->HANDLE_CHECKBOX_CHANGE FOR TREE1.
в CLASS CL_TREE_EVENT_RECEIVER DEFINITION
METHODS HANDLE_CHECKBOX_CHANGE
FOR EVENT CHECKBOX_CHANGE OF CL_GUI_ALV_TREE
IMPORTING CHECKED.
в CLASS CL_TREE_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_CHECKBOX_CHANGE.
CHECK NOT CHECKED is INITIAL.
MESSAGE 'YESSS!!!' TYPE 'I'. " ну для проверки сойдет))
ENDMETHOD.
также в FORM ADD_CARRID_LINE
LS_ITEM_LAYOUT-class = cl_gui_column_tree=>item_class_checkbox.
LS_ITEM_LAYOUT-EDITABLE = 'X'.
и в FORM ADD_COMPLETE_LINE тоже самое
однако при вызове метода SET_REGISTERED_EVENTS вылезает ошибка и дамп
ILLEGAL_EVENT_COMBINATION = 3.
-
вот и ответ)))
http://scn.sap.com/message/13712885
-
вот и ответ)))
http://scn.sap.com/message/13712885
Just ADD 'ITEM_SELECTION = 'X' in Object tree1.
CREATE OBJECT TREE1
EXPORTING
PARENT = G_CONTAINER_OBJECT
NODE_SELECTION_MODE = CL_GUI_COLUMN_TREE=>NODE_SEL_MODE_SINGLE
ITEM_SELECTION = 'X'
NO_HTML_HEADER = ''
NO_TOOLBAR = ''
-
в стандартном отчете BCALV_TREE_VERIFY есть много чего интересного: события, кнопки, ссылки, пиктограммы, checkbox-ы.
при желании можно посмотреть все стандартные отчеты при поиске по BCALV_*TREE*