Текущее время: Пн, июл 14 2025, 05:33

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: ALV grid. Как сделать чтобы размер грида в контейнере занимал весь экран.
СообщениеДобавлено: Вт, апр 11 2006, 08:20 
Начинающий
Начинающий

Зарегистрирован:
Ср, ноя 30 2005, 07:31
Сообщения: 17
Есть окно. В нем контейнер.

DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid.
DATA gc_custom_control_name TYPE scrfname VALUE 'CC_ALV'.
DATA gr_ccontainer TYPE REF TO cl_gui_custom_container.

В PBO экрана код:

CREATE OBJECT GR_CCONTAINER
EXPORTING
CONTAINER_NAME = gc_custom_control_name
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
others = 6.

CREATE OBJECT GR_ALVGRID
EXPORTING
I_PARENT = gr_ccontainer
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
others = 5.

CALL METHOD gr_alvgrid->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_LAYOUT = gs_layout
CHANGING
IT_OUTTAB = zt_dog_reestr[]
IT_FIELDCATALOG = gt_fieldcat
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4.

Грид занимает весь контейнер, но сам размер контейнера определен в интерфейсе экрана. Как сделать чтобы размер контейнера занимал весь экран, в том числе и при изменении размеров самого экрана.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 11 2006, 09:01 
Гость
Ответ на данный вопрос был неоднократно описан на данном форуме - советую воспользоваться поиском.

В двух словах: при проектировании экрана контейнер следует растянуть на максимально возможную величину, а в атрибутах его проставить 2 галочки масштабирования(изменяемости) по горизонтали и вертикали.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 18 2006, 19:24 
Гость
Установка масштабирования в атрибутах контейнера лично мне не помогла. Поэтому я решаю эту проблему следующим образом:

CREATE OBJECT GR_ALVGRID
EXPORTING
I_PARENT = cl_gui_container=>screen0
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
others = 5.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 18 2006, 19:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
SDS написал(а):
Установка масштабирования в атрибутах контейнера лично мне не помогла.

REUSE_ALV_GRID_DISPLAY ведь работает (растягивается-сжимается)? Поглядите в свойства ее экрана и контейнера - уверен, что поможет.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 19 2006, 08:46 
Гость
SDS написал(а):
Установка масштабирования в атрибутах контейнера лично мне не помогла.


Дело всё в том, что контейнер автоматически может только уменьшать свои размеры. Поэтому, чтобы расположить его на весь экран, следует растянуть его (да и форму под ним) на размеры, заведомо больше экранных. Только тогда данная фишка проходит.

Кстати, у объекат класса CL_GUI_CUSTOM_CONTAINER есть методы SET_HEIGHT, SET_WIDTH, SET_TOP, SET_LEFT, SET_POSITION(height, top, left, width). Осталось только разобраться, как получить размеры формы, на которой располагается данный контейнер и/или размеры экрана.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 12:55 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, авг 25 2004, 17:01
Сообщения: 38
Откуда: Москва
Я делаю следующим образом. Не создаю на экране вообще контейнер.
а пишу следующий код в PBO
CREATE OBJECT container
EXPORTING
repid = g_repid
dynnr = sy-dynnr
extension =
cl_gui_docking_container=>ws_maximizebox
EXCEPTIONS
others = 6.

IF NOT sy-subrc IS INITIAL.
EXIT.
ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 13:50 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 07:31
Сообщения: 234
Откуда: Нижнекамск
и что получается?
пустой экран и поверх него контейнер в виде отдельного окна?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, апр 23 2006, 21:54 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
Paul_80 написал:
SDS написал(а):
Установка масштабирования в атрибутах контейнера лично мне не помогла.


Дело всё в том, что контейнер автоматически может только уменьшать свои размеры. Поэтому, чтобы расположить его на весь экран, следует растянуть его (да и форму под ним) на размеры, заведомо больше экранных. Только тогда данная фишка проходит.

Кстати, у объекат класса CL_GUI_CUSTOM_CONTAINER есть методы SET_HEIGHT, SET_WIDTH, SET_TOP, SET_LEFT, SET_POSITION(height, top, left, width). Осталось только разобраться, как получить размеры формы, на которой располагается данный контейнер и/или размеры экрана.


Я бы уточнил - не заведомо больше экранных, а заведомо максимальных. А это, если не ошибаюсь, 200 на 240. Ну и конечно ресайз по Х и У, и минимальное число строк/столбцов = 1.
Помоему так.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 24 2006, 12:14 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Eugene написал(а):
и что получается?
пустой экран и поверх него контейнер в виде отдельного окна?

Нет.
Получается контейнер, растянутый на весь экран :)
Потом указываешь этот контейнер при создании ALV-grid в качестве i_parent и получаешь ALV-Grid, растянутый на весь экран

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB