Текущее время: Чт, мар 28 2024, 13:27

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Сортировка грида
СообщениеДобавлено: Пт, июн 21 2019, 10:06 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 90
Подскажите. Нужно ,чтобы при сортировке,фильтрации и других подобных изменнениях одно из полей грида(нумерация) - не менялась,т.е представим если первый стлобец где идут строки 1,2,3,..n как мы бы не меняли не сортировали грид он таким же и оставался 1,2,3,..n а не скажем 2,5,3..n в зависимости от сортировки или 3,4 если фильтр поставили на 2 строки,а вместо этого было 1,2. В каком событии грида это нужно ловить?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сортировка грида
СообщениеДобавлено: Пт, июн 21 2019, 12:20 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Вариант реализации - через событие AFTER_USER_COMMAND. В разных реализациях ALV Grid немного отличается, вот пример для SALV. Сортируйте столбец с текстом.
Code:
TYPES: BEGIN OF ty_table,
         position TYPE i,
         text     TYPE char3,
       END OF ty_table,
       ty_table_t TYPE STANDARD TABLE OF ty_table WITH KEY position.

DATA: go_alv       TYPE REF TO cl_salv_table,
      go_columns   TYPE REF TO cl_salv_columns,
      go_column    TYPE REF TO cl_salv_column,
      go_events    TYPE REF TO cl_salv_events,
      go_functions TYPE REF TO cl_salv_functions,
      gv_string    TYPE string.

DATA(gt_data) = VALUE ty_table_t(
  ( position = 1   text = 'ABC'  )
  ( position = 2   text = 'XYZ' )
  ( position = 3   text = 'QWE' ) ).


CLASS lcl_report DEFINITION.
  PUBLIC SECTION.
    METHODS:
      on_after_salv_function  FOR EVENT after_salv_function  OF cl_salv_events IMPORTING e_salv_function.

ENDCLASS.

CLASS lcl_report IMPLEMENTATION.
  METHOD on_after_salv_function.
    LOOP AT gt_data INTO DATA(wa).
      wa-position = sy-tabix.
      MODIFY gt_data FROM wa.
    ENDLOOP.
  ENDMETHOD.
ENDCLASS.

DATA:
  lo_report TYPE REF TO lcl_report.

START-OF-SELECTION.
  TRY.
      cl_salv_table=>factory(
         IMPORTING
           r_salv_table = go_alv
         CHANGING
           t_table = gt_data ).
    CATCH cx_salv_msg .
      MESSAGE 'Ошибка при создании ALV' TYPE 'E'.
  ENDTRY.

  CREATE OBJECT lo_report.

  go_columns = go_alv->get_columns( ).

  TRY.
      go_column = go_columns->get_column( 'TEXT' ).
      " настраиваем текст
      go_column->set_long_text( 'Text' ).
      go_column->set_medium_text( 'Text' ).
      go_column->set_short_text( 'Text' ).
    CATCH cx_salv_not_found.
  ENDTRY.

  TRY.
      go_column = go_columns->get_column( 'POSITION' ).
      " настраиваем текст
      go_column->set_long_text( 'Position' ).
      go_column->set_medium_text( 'Position' ).
      go_column->set_short_text( 'Position' ).
    CATCH cx_salv_not_found.
  ENDTRY.

  go_events = go_alv->get_event( ).
  SET HANDLER lo_report->on_after_salv_function FOR go_events.

  go_functions = go_alv->get_functions( ).
  go_functions->set_all( abap_true ).

  go_alv->display( ).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сортировка грида
СообщениеДобавлено: Пт, июн 21 2019, 13:20 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
А при фильтрации потребуется дополнительно обработать.

Get set of filtered values from CL_SALV_TABLE


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сортировка грида
СообщениеДобавлено: Пт, июн 21 2019, 13:21 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 90
понял,спасибо


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

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


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

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


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

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