Текущее время: Вт, июл 01 2025, 00:11

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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