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

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


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

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


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

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