Текущее время: Ср, июл 30 2025, 20:01

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


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

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


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

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