Текущее время: Ср, июн 18 2025, 23:09

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


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

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


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

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