Текущее время: Пн, авг 04 2025, 01:37

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Исключение кнопок из toolbar.
СообщениеДобавлено: Пт, авг 29 2008, 16:17 
Специалист
Специалист

Зарегистрирован:
Вт, мар 18 2008, 10:21
Сообщения: 136
Откуда: краснодар
Доброго дня :D
Использую классы, и свою строку инструментов. По аналогии как в BCALV_GRID_05, прописал свои иконки коды функций и т.д.
По событиям кнопок строки инструментов меняю содержимое грида

Code:
CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      IS_LAYOUT       = G_LAYOT_F
      I_SAVE          = X_SAVE
      IT_TOOLBAR_EXCLUDING = ls_exclude
    CHANGING
      IT_OUTTAB       = gf_itab[]
      IT_FIELDCATALOG = ALV_FIELDCATALOG_F
      IT_SORT         = G_SORT_F.


ls_exclude - готовлю по проинципу

Code:
FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions .
  DATA ls_exclude TYPE ui_func.
  ls_exclude = 'EVENT'.
  APPEND ls_exclude TO pt_exclude.
ENDFORM .


Но кнопка EVENT все равно не исчезает из строки инструментов по обновлению грида.
В чем проблема?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 29 2008, 16:29 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
pt_exclude[] вместо ls_exclude в вызове ФМ.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 01 2008, 08:48 
Специалист
Специалист

Зарегистрирован:
Вт, мар 18 2008, 10:21
Сообщения: 136
Откуда: краснодар
пробовал

Code:
  data: pt_exclude TYPE ui_functions.
  data: ls_exclude TYPE ui_func.

  ls_exclude = 'EVENT1'.
  APPEND ls_exclude TO pt_exclude.

  CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      IS_LAYOUT       = G_LAYOT_F
      I_SAVE          = X_SAVE
      IT_TOOLBAR_EXCLUDING = pt_exclude[]
    CHANGING
      IT_OUTTAB       = gf_itab[]
      IT_FIELDCATALOG = ALV_FIELDCATALOG_F
      IT_SORT         = G_SORT_F.


непомогло :(


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

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
ну, во всяком случае, так правильнее, однозначно.
Я не знаю как у Вас построена программа, но SET_TABLE_FOR_FIRST_DISPLAY вызывается один раз. К рефрешу она не должна иметь отношения, по хорошему.
Кнопку Вы свою, видимо, рисаовали для события toolbar. Вот оно при событие refresh сработает, там свою обработку и вставляйте, т.е. не апепендете свою кнопку и все.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 01 2008, 10:14 
Специалист
Специалист

Зарегистрирован:
Вт, мар 18 2008, 10:21
Сообщения: 136
Откуда: краснодар
Все оказалось гараздо проще
после каждого последующего SET_TABLE_FOR_FIRST_DISPLAY если при первом запуске грида реализовывался тулбар
SET HANDLER event_receiver->handle_toolbar FOR grid.
CALL METHOD grid->set_toolbar_interactive.
то и в дальнейшем при следующих SET_TABLE_FOR_FIRST_DISPLAY данный метод будет выполняться.
Остается только в методе handle_toolbar реализовать логику ведения\видимости кнопок в зависимости от какой нить глобальной переменной или sy-ucomm.

Не знаю на сколько правильный подход, но работает :D


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

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


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

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


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

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