Текущее время: Чт, апр 25 2024, 02:04

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Как создать docking container на подэкране?
СообщениеДобавлено: Вт, июл 21 2009, 16:18 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
День добрый
Подскажите, как создать docking container на подэкране?

Какое значание параметра parent в конструкторе?
Я создаю контейнер так
Code:
create object docking_alv
          exporting
             parent    = cl_gui_container=>screen0  " ??????
             side      = cl_gui_docking_container=>dock_at_top
             dynnr     = '1013' " SUBSCREEN
             repid     = sy-repid
             extension = 230.


Заранее спасибо.

Пономарев Артем: пользуйтесь тэгами для оформления кода, пожалуйста.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Вт, июл 21 2009, 16:23 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
попробуйте поменять cl_gui_container=>screen0
на объект cl_gui_custom_container (custom-area на вашем подэкране), а dynnr уберите


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Вт, июл 21 2009, 16:42 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
Так вроде параметр parent типа cl_gui_container?
пробую так
Code:
DATA: container_cust TYPE REF TO cl_gui_custom_container.
CREATE OBJECT container_cust
            EXPORTING
                container_name = 'CNT'.
create object docking_alv
          exporting
             parent    = container_cust
             side      = cl_gui_docking_container=>dock_at_top
*            dynnr     = '1013' " SUBSCREEN
             repid     = sy-repid
             extension = 230.

сваливается естественно в дамп.

еще пробую так
Code:
DATA: container_cust TYPE REF TO cl_gui_custom_container.
CREATE OBJECT container_cust
            EXPORTING
                container_name = 'CNT'.
create object docking_alv
          exporting
             parent    = container_cust->screen0
             side      = cl_gui_docking_container=>dock_at_top
*            dynnr     = '1013' " SUBSCREEN
             repid     = sy-repid
             extension = 230.

не работает :-(


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Вт, июл 21 2009, 16:48 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
:rtfm:
http://www.abap4.it/download/ALV.pdf


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 08:57 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
ссылка не работает


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 09:17 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
Ага. Уже убили ссылку.
Но вот тут тоже самая дока.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 09:25 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
За ссылку конечно спасибо.
Но я не понимаю каким образом эта дока по ALVгриду связана с моим вопросом:
как docking container создать на подэкране??


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 09:56 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
Почему Вы говорите докинг если у вас контейнер объявлен как custom?
Судя по всему Вы просто хотите вывести алв в подэкране.
Напишите вот так
Code:
DATA: container_cust TYPE REF TO cl_gui_custom_container.
CREATE OBJECT container_cust
            EXPORTING
                container_name = 'CNT'.

create object docking_alv
          exporting
             parent    = container_cust
             side      = cl_gui_docking_container=>dock_at_top.

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 10:17 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
Марик написал:
Почему Вы говорите докинг если у вас контейнер объявлен как custom?

Контейнер объявленный как custom, я (по совету trop) пытаюсь подсунуть как parent для своего docking контейнера.
Марик написал:
Судя по всему Вы просто хотите вывести алв в подэкране.

Нет, на подэкране должно быть: в верхней части - ALV, в нижней TabStrip.
Марик написал:
Напишите вот так

не работает, - дамп. Оно и понятно - разные типы параметра parent и container_cust.

Думаю, что проблема в том, что я неверно указывалю параметр parent.
Пробовал различные варианты, и с от cl_gui_container=>screen0 до cl_gui_container=>screen9, и создавая на основном окне с cl_gui_container=>screen0 а потом LINK'ом на container_cust, который на подэкране. Ничего не помогает :-(


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 10:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
Я не понимаю зачем одному контейнеру передавать в родитель другой контейнер.
Нужно созданный контейнер (любой докинг или кастом) сразу передавать как parent в создаваемый alv.
Code:
data  gr_alvgrid        type ref to     cl_gui_alv_grid .
data: gr_ccontainer     type ref to     cl_gui_docking_container.

create object gr_ccontainer
        exporting
          side = cl_gui_docking_container=>dock_at_left.

      data align type int4.
      align = cl_gui_control=>align_at_left +
      cl_gui_control=>align_at_right +
      cl_gui_control=>align_at_bottom.


      call method gr_ccontainer->set_alignment
        exporting
          alignment = align
        exceptions
          others    = 1.

      create object gr_alvgrid
        exporting
          i_parent = gr_ccontainer.

Такой код гораздо проще и у меня он работает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 11:20 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
Марик написал:
Я не понимаю зачем одному контейнеру передавать в родитель другой контейнер.

Это чтобы указать где будет создаваться мой docking контейнер. На основном экране или на подэкране.

Марик написал:
Нужно созданный контейнер (любой докинг или кастом) сразу передавать как parent в создаваемый alv.
Такой код гораздо проще и у меня он работает.

Спасибо за код, он у меня тоже работает. Только gr_ccontainer создается на основном экране(это легко проверить меняя подэкраны - ALVгрид на gr_ccontainer не изчезает), а мне необходимо, чтобы он был создан на подэкране.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 11:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
elvis написал(а):
Марик написал:
Я не понимаю зачем одному контейнеру передавать в родитель другой контейнер.

Это чтобы указать где будет создаваться мой docking контейнер. На основном экране или на подэкране.

видимо docking_container вкладывается только в верхний экран (screen0) и в 1й popup (screen1).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 11:45 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
а, что использование docking контейнера настолько принципиально?

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как создать docking container на подэкране?
СообщениеДобавлено: Ср, июл 22 2009, 12:02 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 21 2009, 16:13
Сообщения: 9
Просто хотел на подэкране сделать вверху ALV, а снизу Таbstrip (Таbstrip уже лежит на подэкране в ScreenPainter'e),.... Но чувствую, что придется делать в подэкране spliter контейнер..


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

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


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

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


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

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