Текущее время: Вт, июл 22 2025, 22:14

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: опять по ALV
СообщениеДобавлено: Вт, дек 30 2008, 12:18 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
Имеем.

Использую объектный ALV.
Все работает. Поставил фильтр средствами ALV. Ушел по контекстному меню в другой экран, вернулся
сделал CALL METHOD gr_alvgrid->set_table_for_first_display (перечитать измененные данные)
Все вернулось как было по умолчанию. Отменился фильтр, колонки вернулись в первоначальные размеры и местоположения.

Вопрос. Как программно временно сохранить состаяние ALV и вернуть его обратно при возврате с других экранов?
без участия пользователя и сохранения им форматов.

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Вт, дек 30 2008, 12:22 
Директор
Директор
Аватара пользователя

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

Использую объектный ALV.
Все работает. Поставил фильтр средствами ALV. Ушел по контекстному меню в другой экран, вернулся
сделал CALL METHOD gr_alvgrid->set_table_for_first_display (перечитать измененные данные)
Все вернулось как было по умолчанию. Отменился фильтр, колонки вернулись в первоначальные размеры и местоположения.

Вопрос. Как программно временно сохранить состаяние ALV и вернуть его обратно при возврате с других экранов?
без участия пользователя и сохранения им форматов.

Спасибо.


А зачем при возврате делать set_table_for_first_display?
Для актуализации данных просто прорефрешьте ALV.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Вт, дек 30 2008, 12:27 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
Lars написал:
apetrenko написал:
Имеем.

Использую объектный ALV.
Все работает. Поставил фильтр средствами ALV. Ушел по контекстному меню в другой экран, вернулся
сделал CALL METHOD gr_alvgrid->set_table_for_first_display (перечитать измененные данные)
Все вернулось как было по умолчанию. Отменился фильтр, колонки вернулись в первоначальные размеры и местоположения.

Вопрос. Как программно временно сохранить состаяние ALV и вернуть его обратно при возврате с других экранов?
без участия пользователя и сохранения им форматов.

Спасибо.


А зачем при возврате делать set_table_for_first_display?
Для актуализации данных просто прорефрешьте ALV.



Да, так и надо делать.

Есть код, уже так написан. Много написано. Сформировано в библиотеку. При этом делает еще много другого.
Как быстрый выход написать сохранение структуры и восстановление.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Вт, дек 30 2008, 12:38 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Очень сомнительно что это проще и быстрее.
SET/GET методы тогда для грида используйте, храните у себя сортировки и фильтры...

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


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

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Lars написал:
А зачем при возврате делать set_table_for_first_display?
Для актуализации данных просто прорефрешьте ALV.

насколько я понимаю, нужно вызывать метод refresh, а не set_table_for_first_display

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Пн, сен 07 2009, 11:58 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 07 2006, 09:49
Сообщения: 303
А как сделать, чтобы после вызова метода refresh_table_display
Code:
<...>
layout-cwidth_opt = 'X'.
<...>
grid1 TYPE REF TO cl_gui_alv_grid,
<...>

CALL METHOD grid1->refresh_table_display


ширина колонок заново оптимизировалась, как после вызова set_table_for_first_display?

_________________
* * *


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Пн, сен 07 2009, 14:39 
Менеджер
Менеджер

Зарегистрирован:
Вт, авг 17 2004, 13:14
Сообщения: 664
Откуда: Москва
Пол: Мужской
Удав написал(а):
насколько я понимаю, нужно вызывать метод refresh, а не set_table_for_first_display

Если данные в 1-ом гриде не менялись, то ничего вызывать не надо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Пн, сен 07 2009, 23:22 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
aar написал(а):
А как сделать, чтобы после вызова метода refresh_table_display ширина колонок заново оптимизировалась, как после вызова set_table_for_first_display?

Если соответствующий параметр установлен в пользовательской настройке грида, и так ширна должна оптимизироваться.
Если параметр не установлен, можно его установить, если сильно хочется:
Code:
grid1 TYPE REF TO cl_gui_alv_grid,

  CALL METHOD grid1->get_frontend_layout
    IMPORTING
      es_layout = layout.
  layout-cwidth_opt = 'X'.   
  CALL METHOD grid1->set_frontend_layout
    EXPORTING
      is_layout = layout.
  CALL METHOD grid1->refresh_table_display


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Вт, сен 08 2009, 08:51 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 07 2006, 09:49
Сообщения: 303
Rokhay написал:
aar написал(а):
А как сделать, чтобы после вызова метода refresh_table_display ширина колонок заново оптимизировалась, как после вызова set_table_for_first_display?

Если соответствующий параметр установлен в пользовательской настройке грида, и так ширна должна оптимизироваться.
Если параметр не установлен, можно его установить, если сильно хочется:
Code:
grid1 TYPE REF TO cl_gui_alv_grid,

  CALL METHOD grid1->get_frontend_layout
    IMPORTING
      es_layout = layout.
  layout-cwidth_opt = 'X'.   
  CALL METHOD grid1->set_frontend_layout
    EXPORTING
      is_layout = layout.
  CALL METHOD grid1->refresh_table_display

Спасибо, работает.

_________________
* * *


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Ср, сен 09 2009, 08:56 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 07 2006, 09:49
Сообщения: 303
Можно как-нибудь вывести текст, который содержит в начале несколько пробелов, так, чтобы эти пробелы не съедались?

_________________
* * *


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Ср, сен 09 2009, 09:53 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
aar написал(а):
Можно как-нибудь вывести текст, который содержит в начале несколько пробелов, так, чтобы эти пробелы не съедались?

Именно в такой формулировке - видимо, нет.
Note 815917 - GridView: Displaying leading or trailing spaces in ALV Grid


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Ср, сен 09 2009, 11:13 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 07 2006, 09:49
Сообщения: 303
Rokhay написал:
aar написал(а):
Можно как-нибудь вывести текст, который содержит в начале несколько пробелов, так, чтобы эти пробелы не съедались?

Именно в такой формулировке - видимо, нет.
Note 815917 - GridView: Displaying leading or trailing spaces in ALV Grid

Косяково, однако... Приходится конкатенейтить точку, пробелы, фразу. Выглядит не особенно красиво.

_________________
* * *


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Ср, сен 09 2009, 11:19 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
aar написал(а):
Косяково, однако... Приходится конкатенейтить точку, пробелы, фразу. Выглядит не особенно красиво.



Может, поделитесь, с какой конечной целью вам это надо?
Может и методы другие найдутся для нее)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Ср, сен 09 2009, 11:59 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 07 2006, 09:49
Сообщения: 303
Rokhay написал:
Может, поделитесь, с какой конечной целью вам это надо?

Иерархическое представление соподчиненных строк. Чем больше пробелов в начале строки, тем более низкий уровень. Лесенка такая должна получиться.

_________________
* * *


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: опять по ALV
СообщениеДобавлено: Ср, сен 09 2009, 12:08 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
aar написал(а):
Rokhay написал:
Может, поделитесь, с какой конечной целью вам это надо?

Иерархическое представление соподчиненных строк. Чем больше пробелов в начале строки, тем более низкий уровень. Лесенка такая должна получиться.

Почем бы не сделать нормальную иерархию на дереве (а-ля BCALV_TREE_DEMO)?

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


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

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


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

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


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

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