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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: ALV позицианирование по ALV
СообщениеДобавлено: Ср, авг 02 2006, 15:32 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
Подскажите как спозиционировать курсор ALV На определенную строку.

ALV подвязан к некой таблице.
В таблице есть нумератор. (аля identity поле)с уникальным значением.
Таблица загружена в ALV
АЛВ не в режиме редактирования. Выделяется вся строка.

Нужно выделеть определенную строку по значению например нумератора в таблице


Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 02 2006, 16:43 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
неужели никто не знает?

очень нужно....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 02 2006, 17:35 
Специалист
Специалист

Зарегистрирован:
Чт, июн 23 2005, 18:05
Сообщения: 119
Я так делаю:
CALL METHOD go_grid->get_current_cell
IMPORTING
ES_ROW_ID = l_row
ES_COL_ID = l_col.

CALL METHOD go_grid->refresh_table_display.

CALL METHOD go_grid->set_current_cell_via_id
EXPORTING
IS_ROW_ID = l_row
IS_COLUMN_ID = l_col.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 02 2006, 17:42 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
kizif написал(а):
Я так делаю:
CALL METHOD go_grid->get_current_cell
IMPORTING
ES_ROW_ID = l_row
ES_COL_ID = l_col.

CALL METHOD go_grid->refresh_table_display.

CALL METHOD go_grid->set_current_cell_via_id
EXPORTING
IS_ROW_ID = l_row
IS_COLUMN_ID = l_col.


Я примерно на это так и смотрю.

А если после рефреша запрос вывел записей больше чем было..
да и в другой сортировке.
Или просто добавили запись(не через ALV) и на нее нужно спозиционироватся (номер известен).

Собственно так.. У меня есть поле в внутренней таблице
я хочу по значению спозиционироваться в ALV.

p.s. у меня перед CALL METHOD go_grid->refresh_table_display.
идет физическое перечитывание данных из таблицы во внутр. таблицу.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 02 2006, 17:59 
Специалист
Специалист

Зарегистрирован:
Чт, июн 23 2005, 18:05
Сообщения: 119
Не понял в чем проблема?
Ну и присвой l_row свое нужное значение в set_current_cell_via_id. Тогда и get не нужен.
Что не встанет разве?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 02 2006, 18:10 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
kizif написал(а):
Не понял в чем проблема?
Ну и присвой l_row свое нужное значение в set_current_cell_via_id. Тогда и get не нужен.
Что не встанет разве?


нет

у меня есть ALV

ID NAME
--- ---------
1 NAME1
5 NAME5
6 NAME6
7 NAME7
89 NAME89
100 NAME100


как кодом спозиционировать курсор на значение ID 89 например.

например я в поле ввода ввел число 89 нажал ок и курсор переместился на запись со значением id 89 5 позиция грида
ввел 7 нажал окm курсор на за 4 позиции грида

p.s. Я <я не знать русский языка> в R3 поэтому еще много чего не знаю.

В Delphi я делал так GRID.LOCATE('ID',[],89)
и курсор у меня перемещался по полю ID на значение 89.
Естественно в поле ID значения уникальны.

как такое сделать в САПЕ?

СПАСИБО. Мне очень важен ответ на этот вопрос


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ALV позицианирование по ALV
СообщениеДобавлено: Ср, авг 02 2006, 20:37 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Hermitap написал(а):
Подскажите как спозиционировать курсор ALV На определенную строку.

ALV подвязан к некой таблице.
В таблице есть нумератор. (аля identity поле)с уникальным значением.
Таблица загружена в ALV
АЛВ не в режиме редактирования. Выделяется вся строка.

Нужно выделеть определенную строку по значению например нумератора в таблице


Спасибо.


http://help.sap.com/saphelp_47x200/help ... ameset.htm

Если мне не изменяет память, то в IS_ROW_NO-ROW_ID нужно записать
номер строки (т.е. для приведённого примера 5 и 4 соответственно). Кстати, а чем встроенный поиск не устраивает?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 02 2006, 20:42 
Гость
Code:
CALL METHOD go_grid->get_current_cell
IMPORTING
ES_ROW_ID = l_row
ES_COL_ID = l_col.

CALL METHOD go_grid->refresh_table_display.

read table itab with key id = my_id.

if sy-subrc = 0.
   i_row = sy-tabix.

  CALL METHOD go_grid->set_current_cell_via_id
  EXPORTING
   IS_ROW_ID = l_row
   IS_COLUMN_ID = l_col.

endif.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 02 2006, 20:57 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
РМщик написал(а):
Code:
CALL METHOD go_grid->get_current_cell
IMPORTING
ES_ROW_ID = l_row
ES_COL_ID = l_col.

CALL METHOD go_grid->refresh_table_display.

read table itab with key id = my_id.

if sy-subrc = 0.
   i_row = sy-tabix.

  CALL METHOD go_grid->set_current_cell_via_id
  EXPORTING
   IS_ROW_ID = l_row
   IS_COLUMN_ID = l_col.

endif.


о.. на вид похоже. завтра попробую..

Огромное спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 03 2006, 10:39 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 18 2006, 09:00
Сообщения: 4
еще вопросик к этому.

как после позиционирования выделить курсором всю строку?
кликая мышкой я перемещаю курсор по всему гриду и активная 1 ячейка но выделена вся строка. (грид нередактируемый)
После позиционирования кодом мы перемещаемся на выбранную ячейк. но выделение всей строки исчезает. 1 клик и выделение появляется.

как программно сделать аля C# свойство AlwaysRowSelect = true
строка всегда выделена....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 18 2008, 12:04 
Ассистент
Ассистент

Зарегистрирован:
Вт, окт 03 2006, 15:44
Сообщения: 44
Братья и сестры .....
есть ALV табличка на несколько экранов
я в середине таблицы выделяю строку и изменяю значение поля
далее делаю рефреш
потом пытаюсь восстановить позиционирование

позиционирование работает честно
но вот эту отпозиционированную строку ставит последней. т.е. строка отпозиционированная находится последней на экране.

а хотел чтобы она оставалась на том же месте на экране. допустим в середине.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 18 2008, 16:11 
Ассистент
Ассистент

Зарегистрирован:
Вт, окт 03 2006, 15:44
Сообщения: 44
Вообщем уже сам разобрался.....извините

* Восстанавливаем позиционирование >>>
CALL METHOD alv_grid->gr_alvgrid->GET_SCROLL_INFO_VIA_ID
IMPORTING
ES_ROW_info = l_row
ES_COL_info = l_col.

CALL METHOD alv_grid->gr_alvgrid->REFRESH_TABLE_DISPLAY.
if l_row-INDEX <> 0.
SROID-ROW_ID = l_row-INDEX.
CALL METHOD alv_grid->gr_alvgrid->SET_SCROLL_INFO_VIA_ID
EXPORTING
iS_ROW_info = l_row
iS_COL_info = l_col
is_row_no = SROID.
endif.
* Восстанавливаем позиционирование <<<


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

Зарегистрирован:
Чт, апр 13 2006, 08:44
Сообщения: 133
Откуда: 56
Пол: Мужской
может так?
Code:
" ALV обновление без сдвигов
data
  : gt_lvc_s_stbl type lvc_s_stbl
  .

  gt_lvc_s_stbl-row = 'X'.
  gt_lvc_s_stbl-col = 'X'.

  call method ref_alv1->refresh_table_display
    exporting
      is_stable      = gt_lvc_s_stbl.


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

Зарегистрирован:
Вт, окт 03 2006, 15:44
Сообщения: 44
так даже лучше
быстрее пашет
пасибочки :D


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

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


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

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


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

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