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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: изменение кнопок в ALV GRID
СообщениеДобавлено: Пт, фев 08 2008, 13:54 
Начинающий
Начинающий

Зарегистрирован:
Вт, янв 08 2008, 09:19
Сообщения: 11
<я не знать русский языка>, как можно удалить и добавить кнопки в ALV-GRIDe.


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

Зарегистрирован:
Вт, окт 25 2005, 11:10
Сообщения: 114
Откуда: Киев
через что делаешь через ФМ ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 08 2008, 14:19 
Начинающий
Начинающий

Зарегистрирован:
Вт, янв 08 2008, 09:19
Сообщения: 11
Нет, на примере программы BCALV_TEST_GRID_EDIT_01, в свое программе я должен оставить кнопки Удалить Создать Сохранить а остальные удалить. (Создаю диалог ведения таблицы в ALV-GRIDE)


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

Зарегистрирован:
Вт, окт 25 2005, 11:10
Сообщения: 114
Откуда: Киев
class назови definition deferred.

LASS назови IMPLEMENTATION.
METHOD toolbar.

'&LOCAL&INSERT_ROW'.
delete e_object->mt_toolbar where FUNCTION = '&LOCAL&DELETE_ROW'.
delete e_object->mt_toolbar where FUNCTION = '&LOCAL&COPY_ROW'.
delete e_object->mt_toolbar where FUNCTION = '&LOCAL&COPY_ROW'.
delete e_object->mt_toolbar where FUNCTION = '&DETAIL'.
delete e_object->mt_toolbar where FUNCTION = '&CHECK'.
delete e_object->mt_toolbar where FUNCTION = '&MB_SUM'.
delete e_object->mt_toolbar where FUNCTION = '&MB_SUBTOT'.
delete e_object->mt_toolbar where FUNCTION = '&MB_VIEW'.
delete e_object->mt_toolbar where FUNCTION = '&GRAPH'.
delete e_object->mt_toolbar where FUNCTION = '&INFO'.
delete e_object->mt_toolbar where FUNCTION = '&LOCAL&COPY'.
ENDMETHOD. "toolbar

и в логике экрана где
CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
.....
пишешь
SET HANDLER назови=>toolbar FOR ALV_GRID.


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

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
У set_table_for_first_display есть параметр it_toolbar_excluding, который, собственно и исключает кнопки.
Заполняется что то типа:

Code:
data: gt_exclude TYPE TABLE OF ui_func WITH HEADER LINE.

...
APPEND cl_gui_alv_grid=>mc_fc_loc_copy_row     TO gt_exclude.
...

  CALL METHOD grid->set_table_for_first_display
    EXPORTING
      ...
      it_toolbar_excluding          = gt_exclude[]
      ...

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 08 2008, 14:36 
Начинающий
Начинающий

Зарегистрирован:
Вт, янв 08 2008, 09:19
Сообщения: 11
Спасибо, сейчас попробую.


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

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Аким написал(а):
Нет, на примере программы BCALV_TEST_GRID_EDIT_01, в свое программе я должен оставить кнопки Удалить Создать Сохранить а остальные удалить. (Создаю диалог ведения таблицы в ALV-GRIDE)

Цитата:
Моей первой программой на проекте поддержки была реализация ракурса ведения с помощью ALV GRIDа. Первым этапом необходимо было определить меню с кнопками "Добавить" "Удалить":
1) Определяем класс с меню:
*----------------------------------------------------------------------*
* CLASS lcl_events_d0100 DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_events_d0100 DEFINITION.
PUBLIC SECTION.
METHODS:

handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive.

ENDCLASS. "lcl_events_d0100 DEFINITION
2) Внедряем:
CLASS lcl_events_d0100 IMPLEMENTATION.
***---------------------------------------------------------------------*
*** METHOD handle_toolbar *
***---------------------------------------------------------------------*
*** Добавление кнопок "Вставить" "Удалить"
*** на панели инструментов *
***---------------------------------------------------------------------*
METHOD handle_toolbar.
DATA el_tool TYPE stb_button. " элемент панели инструментов

CLEAR el_tool.
el_tool-function = cl_gui_alv_grid=>mc_fc_loc_append_row. " Добавить строку
el_tool-icon = '@0Y@'.
APPEND el_tool TO e_object->mt_toolbar.

CLEAR el_tool.
el_tool-function = cl_gui_alv_grid=>mc_fc_loc_delete_row. " Удалить строку
el_tool-icon = '@18@'.
APPEND el_tool TO e_object->mt_toolbar.

ENDMETHOD. "handle_toolbar

ENDCLASS. "lcl_events_d0100 IMPLEMENTATION
3) Удаляем все кнопки:
APPEND cl_gui_alv_grid=>mc_fc_excl_all TO it_toolexcl.

4) Передаем в ALV GRID:
CALL METHOD grid1->set_table_for_first_display
EXPORTING
it_toolbar_excluding = it_toolexcl
CHANGING
it_outtab = gt_os
it_fieldcatalog = gt_fieldcatalog[]

EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.

IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL METHOD grid1->set_toolbar_interactive .
5) Подключаем меню к ALV GRID:

CREATE OBJECT gr_events_d0100.

SET HANDLER gr_events_d0100->handle_toolbar FOR grid1.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 08 2008, 15:06 
Начинающий
Начинающий

Зарегистрирован:
Вт, янв 08 2008, 09:19
Сообщения: 11
Спасибо, а как же насчет кнопки "Сохранить", ведь то что я добавляю вALV-GRIDE должно сохранится в таблице которую я создал.


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

Зарегистрирован:
Вт, окт 25 2005, 11:10
Сообщения: 114
Откуда: Киев
ты кнопку сохранить в тул бар alv хочешь? (там где у даоляешь там и лобавляй)
делай метод user command и обрабатывай

CALL METHOD ALV_GRID->REFRESH_TABLE_DISPLAY обновить экранную AKV
CALL METHOD ALV_GRID->CHECK_CHANGED_DATA. обновит внутренню таблицу


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

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Аким написал(а):
Спасибо, а как же насчет кнопки "Сохранить", ведь то что я добавляю вALV-GRIDE должно сохранится в таблице которую я создал.

Ну, а что вам мешает сделать так:

Code:
MODULE status_0100 OUTPUT.

SET PF-STATUS 'MAIN100'.

ENDMODULE.

MODULE user_command_0100 INPUT.

  CASE ok_code.

      WHEN 'SAVE'.

     PERFORM save_data.

  ENDCASE.

  CLEAR ok_code.

ENDMODULE.                 " USER_COMMAND_0100  INPUT


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

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


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

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


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

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