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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 13:30 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Добрый день!

Возникла такая проблема. Имею АЛВ на экране, так вот в зависимости от событий, происходящих в программе, нужно либо показывать toolbar, либо скрывать его. Из всех методов нашел только один - set_toolbar_interactive, которые не имеет никаких параметров. Насколько я понимаю, то этот метод использует toolbar, который находится в самом объекте (MT_TOOLBAR). Но достучаться к нему никак. Поиск по форуму ничего не дал (если я все-таки плохо искал, то тыкните носом в нужный топ, буду очень благодарен :) ). Может кто-то уже решал подобную проблему... Заранее спасибо!

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 13:42 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Смотря какой ALV. Их несколько вариантов.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 13:53 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Обычный cl_gui_alv_grid

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 14:05 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Может, тогда SET_TOOLBAR?
Неуверен, что сработает, т.к. никогда не приходило в голову убирать тулбар целиком (и не совсем понятно, зачем вам нужно) .

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 14:08 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Просто в зависимости от случая грид будет либо просто показывать информацию, либо еще давать возможность ее редактировать. Тут уже нет разницы, то ли убрать его совсем, то ли изменить, действие одно, разница только в наборе кнопок. SET_TOOLBAR нельзя использовать... закрыто для юзверей

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 14:09 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
VID написал:
Обычный cl_gui_alv_grid


я для этого класса вызывала метод
CALL METHOD g_grid->REFRESH_TABLE_DISPLAY
При этом переопределялся toolbar в зависимости от ситуации :)

( data g_grid TYPE REF TO cl_gui_alv_grid.
SET HANDLER:
event_receiver->handle_toolbar FOR g_grid )

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 14:20 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
VID написал:
SET_TOOLBAR нельзя использовать... закрыто для юзверей

Да, пардон, он же Private .

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 14:25 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
VID написал:
Обычный cl_gui_alv_grid

См. отчёт BCALV_GRID_05

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 14:57 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
VID написал:
Просто в зависимости от случая грид будет либо просто показывать информацию, либо еще давать возможность ее редактировать. Тут уже нет разницы, то ли убрать его совсем, то ли изменить, действие одно, разница только в наборе кнопок. SET_TOOLBAR нельзя использовать... закрыто для юзверей

BCALV_EDIT_01 Ваш случай.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 15:01 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Silence1 написала:
VID написал:
Обычный cl_gui_alv_grid


я для этого класса вызывала метод
CALL METHOD g_grid->REFRESH_TABLE_DISPLAY
При этом переопределялся toolbar в зависимости от ситуации :)


В принципе это остается запасным вариантом, но хотелось бы просто пару действий делать без привязки класса событий. Тем не менее спасибо.

sy-uname написал(а):
См. отчёт BCALV_GRID_05


что-то не нашел в этой программе смены тулбаров...

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 15:07 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Besa написал:
BCALV_EDIT_01 Ваш случай.


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

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 15:13 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
VID написал:
В принципе это остается запасным вариантом, но хотелось бы просто пару действий делать без привязки класса событий. Тем не менее спасибо.

А как вы обходитесь без класса событий-то?

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 15:18 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
VID написал:
sy-uname написал(а):
См. отчёт BCALV_GRID_05


что-то не нашел в этой программе смены тулбаров...

Code:
  METHOD handle_toolbar.
* Ї 2.In event handler method for event TOOLBAR: Append own functions
*   by using event parameter E_OBJECT.
    DATA: ls_toolbar  TYPE stb_button.
*....................................................................
* E_OBJECT of event TOOLBAR is of type REF TO CL_ALV_EVENT_TOOLBAR_SET.
* This class has got one attribute, namly MT_TOOLBAR, which
* is a table of type TTB_BUTTON. One line of this table is
* defined by the Structure STB_BUTTON (see data deklaration above).
*

* A remark to the flag E_INTERACTIVE:
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*         'e_interactive' is set, if this event is raised due to
*         the call of 'set_toolbar_interactive' by the user.
*         You can distinguish this way if the event was raised
*         by yourself or by ALV
*         (e.g. in method 'refresh_table_display').
*         An application of this feature is still unknown... :-)


Code:
********
* ->Create Object to receive events and link them to handler methods.
* When the ALV Control raises the event for the specified instance
* the corresponding method is automatically called.
*
    CREATE OBJECT event_receiver.
    SET HANDLER event_receiver->handle_user_command FOR grid1.
    SET HANDLER event_receiver->handle_toolbar FOR grid1.
*
********

* Ї 4.Call method 'set_toolbar_interactive' to raise event TOOLBAR.
    CALL METHOD grid1->set_toolbar_interactive.


_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 15:19 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Silence1 написала:
А как вы обходитесь без класса событий-то?

Да как бы не нужны они там дополнительные... Пока по крайней мере.

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение ALV-toolbar в зависимости от событий
СообщениеДобавлено: Чт, фев 19 2009, 15:20 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
В структуре лейаута есть поле NO_TOOLBAR, может как-то с ним поиграть.
Ну и позвать там что-нибудь типа SET_FRONTEND_LAYOUT.

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


Последний раз редактировалось Lars Чт, фев 19 2009, 15:23, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

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


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

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


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

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