Текущее время: Сб, авг 02 2025, 01:36

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: ALV Grid & Custom Control
СообщениеДобавлено: Вт, янв 24 2006, 14:13 
Специалист
Специалист

Зарегистрирован:
Чт, мар 10 2005, 06:25
Сообщения: 106
Откуда: Johannesburg, South Africa
Привет всем !

Нa модальный диалог нужно вывести ALV сетку. Сетку я вывел, ну вот возникла проблема: на заднем фоне уродливо выделяется серый фон незанятой части CUSTOM CONTROL, созданного на диалоге в Screen Painter.

Вопрос: можно ли сделать так, чтобы, чтобы на диалоге только сетка виднелась, т.е. размер CUSTOM CONTROL автоматически под размер сетки подстраивался или наоборот.

Заранее благодарен.

_________________
Утомлённый солнцем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 24 2006, 15:01 
Гость
если я правильно понял, то тебе надо в атрибутах CUSTOM CONTROL поставить галки изменять размеры по верт. и гор.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Search Help
СообщениеДобавлено: Вт, янв 24 2006, 15:58 
Гость
BCALV_F4 8)


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

Зарегистрирован:
Чт, мар 10 2005, 06:25
Сообщения: 106
Откуда: Johannesburg, South Africa
2 Rodman

Цитата:
если я правильно понял, то тебе надо в атрибутах CUSTOM CONTROL поставить галки изменять размеры по верт. и гор.


А где эти атрибуты ? Что-то я ничего такого не нашел. По-подробнее можно ?

2 harry

А что конкретно там смотреть ?

Заранее благодарен

_________________
Утомлённый солнцем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 25 2006, 09:45 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 01 2004, 07:44
Сообщения: 174
1. создаете на экране спец. элемент управления с максимально возможным размером и в его свойствах указываете изменение размеров по вертикали/горизонтали
2. используете в качестве контейнера cl_gui_container=>screen0

CREATE OBJECT go_grid
EXPORTING
i_parent = cl_gui_container=>screen0.

_________________
Жизнь прекрасна! Если правильно подобрать антидепрессанты...


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

Зарегистрирован:
Чт, мар 10 2005, 06:25
Сообщения: 106
Откуда: Johannesburg, South Africa
Проделал следуюшее:

1. Создал CUSTOM CONTROL на модальном диалоге.
2. Дабл-кликнул на нем и поставил галки изменять размеры по верт. и гор.
3. Написал следуюший код:

*---------------------------------------------------------------------*
* CLASS screen_handler DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS screen_handler DEFINITION.
PUBLIC SECTION.
METHODS:
create_screen,
close_box.
PRIVATE SECTION.
DATA:
container_box TYPE REF TO cl_gui_custom_container,
list_viewer TYPE REF TO cl_gui_alv_grid,
list_layout TYPE lvc_s_layo,
wa_test LIKE LINE OF int_fullstand.
ENDCLASS. "screen_handler DEFINITION

*---------------------------------------------------------------------*
* CLASS screen_handler IMPLEMETATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS screen_handler IMPLEMENTATION.

METHOD create_screen.
CREATE OBJECT container_box
EXPORTING container_name = 'CONTAINER'.

CREATE OBJECT list_viewer
EXPORTING i_parent = container_box.

* For test only

wa_test-gjahr = '2003'.
wa_test-tabname = 'ZOGB_DATQUAD'.
wa_test-akt_stand = '20030120'.
APPEND wa_test TO int_fullstand.

wa_test-gjahr = '2004'.
wa_test-tabname = 'ZOGB_DATQUAD'.
wa_test-akt_stand = '20040221'.
APPEND wa_test TO int_fullstand.

wa_test-gjahr = '2005'.
wa_test-tabname = 'ZOGB_DATQUAD'.
wa_test-akt_stand = '20050322'.
APPEND wa_test TO int_fullstand.

list_layout-cwidth_opt = 'X'.
list_layout-no_toolbar = 'X'.
list_layout-no_headers = 'X'.

CALL METHOD list_viewer->set_table_for_first_display
EXPORTING
i_structure_name = 'ZOMSTRU_FULLSTAND'
is_layout = list_layout
CHANGING
it_outtab = int_fullstand.
ENDMETHOD. "create_screen

METHOD close_box.
CALL METHOD list_viewer->free.
CALL METHOD container_box->free.
ENDMETHOD. "close_box

--------------------------------------------------

Метод create_screen вызывается в PBO модального диалога. Но ничего не изменилось - кусок серого CUSTOM CONTROL не хочет под размер сетки подгоняться. Может, что в коде нужно что добавить ?

Заранее благодарен

_________________
Утомлённый солнцем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 25 2006, 13:16 
Гость
Можно работать через docking container:
Code:
  DATA: o_docking_container TYPE REF TO cl_gui_docking_container.
* ...
  CLEAR o_container.
  gs_repid = sy-repid.
  gs_dynnr = sy-dynnr.

    CREATE OBJECT o_docking_container
      EXPORTING
*        PARENT   =
        repid     = gs_repid
        dynnr     = gs_dynnr
*        SIDE      = DOCK_AT_LEFT
        extension =  cl_gui_docking_container=>ws_maximizebox
*        CAPTION                     =
*        NAME                        =
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        others                      = 6
        .
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

  CREATE OBJECT o_grid
    EXPORTING i_parent = o_container.

Контейнер будет сам подстраиваться по размеры экрана.
При этом на экране элемента CONTAINER создавать не надо ;)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 25 2006, 13:52 
Гость
может вы имеете ввиду, что груд узкий, а контейнер широкий?
тогда рекоммендованные галки не помогут, они лишь уменьшают контейнер если окно не влазит в экран монитора или если размер окна режима изменил пользователь.
чтоб убрать лишнюю серость, нужно рисовать контейнер меньшего размера


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 21 2007, 09:22 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, фев 03 2006, 08:00
Сообщения: 344
всем большой программистский респект, помог docking container:
Code:
data: g_custom_cont type ref to cl_gui_docking_container.

     create object g_custom_cont
       exporting
         repid          = sy-repid
         dynnr          = sy-dynnr
         side           = cl_gui_docking_container=>dock_at_left
         extension      = cl_gui_docking_container=>ws_maximizebox
       exceptions
         cntl_error                  = 1
         cntl_system_error           = 2
         create_error                = 3
         lifetime_error              = 4
         lifetime_dynpro_dynpro_link = 5.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 21 2007, 09:24 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, фев 03 2006, 08:00
Сообщения: 344
упс, сорри, промазал... пост из др.темы... :oops:


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

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


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

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


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

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