Класс CL_GUI_SPLITTER_CONTAINER
|
1 Дек 2017
Класс, позволяющий, разделить область контейнера на подобласти, в каждой из которых можно вывести отдельную таблицу.
Для использования объекта класса cl_gui_splitter_container нужно определить следующие данные:
DATA: gc_custom_control_name TYPE scrfname VALUE 'CNTNR', gr_custom_container TYPE REF TO cl_gui_custom_container, gr_ccontainer1 TYPE REF TO cl_gui_container, gr_ccontainer2 TYPE REF TO cl_gui_container, gr_splitter TYPE REF TO cl_gui_splitter_container, gr_alvgrid1 TYPE REF TO cl_gui_alv_grid, gr_alvgrid2 TYPE REF TO cl_gui_alv_grid, gt_fieldcat TYPE lvc_t_fcat, gs_layout TYPE lvc_s_layo.
- Как и в предыдущем примере на вновь созданном экране нарисуем область контейнера (custom control) и присвоим ему имя ‘CNTNR’.
- Создадим объект класса cl_gui_custom_container:
CREATE OBJECT gr_custom_container EXPORTING container_name = gc_custom_control_name.
- Создадим объект класса cl_gui_splitter_container
CREATE OBJECT gr_splitter EXPORTING rows = 2 columns = 1 parent = gr_custom_container.
Конструктору объекта класса cl_gui_splitter_container нужно указать на сколько строк и колонок мы хотим разделить область контейнера, ассоциированного с объектом gr_custom_container. В нашем случае это будет две области, расположенные одна под другой.
- Закрепим первую (верхнюю) подобласть за подконтейнером gr_ccontainer1, указав координаты (1,1):
gr_ccontainer1 = gr_splitter->get_container( row = 1 column = 1 ).
Укажем созданному объекту gr_alvgrid1, подконтейнер для вывода:
CREATE OBJECT gr_alvgrid1 EXPORTING i_parent = gr_ccontainer1.
Аналогично и для второй подобласти:
gr_ccontainer2 = gr_splitter->get_container( row = 2 column = 1 ). CREATE OBJECT gr_alvgrid2 EXPORTING i_parent = gr_ccontainer2.