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

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


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

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


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

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