Текущее время: Вт, май 13 2025, 13:09

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Количество отображаемых записей в таблице на экране
СообщениеДобавлено: Вт, фев 08 2005, 17:30 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
Люди, подскажите как определить количество отбражаемых строк таблицы на эране?
Т.е. размер окна рисованной таблицы?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 08 2005, 17:36 
Гость
SY-LOOPC не оно?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 09 2005, 08:58 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
Paul_80 написал:
SY-LOOPC не оно?


Не совсем.
Если таблица не заполнено полностью, то это число меньше чем число видимых строк в таблице.

Могу перефразировать вопрос.
Цель у меня такая.
Я знаю индекс записи во внутренней таблице, в которую нужно поставить курсор. Set cursor ставит курсор не по индексу в таблице, а по индексу в ВИДИМОЙ части таблице. :evil:
И шо мне делать? :roll:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 09 2005, 09:31 
Гость
INDEX + ETAB-TOP_LINE - 1

где INDEX - номер строки, на которую нужно установить курсор
ETAB - экранная таблица

ETAB-TOP_LINE - содержит номер верхней строки таблицы на экране


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 09 2005, 11:33 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
ВН написал(а):
INDEX + ETAB-TOP_LINE - 1

где INDEX - номер строки, на которую нужно установить курсор
ETAB - экранная таблица

ETAB-TOP_LINE - содержит номер верхней строки таблицы на экране


Это обратная задача. :(

Дело в том, что при установке курсора нужно знать индекс на экране.
При установке ETAB-CURRENT_LINE в индекс таблицы переход на эту строку не переходит т.к. этот индекс слишком большой.
Так вот, я хочу установить

ETAB-TOP_LINE = (ETAB-LINES/количество строк на экране)*количество строк на экране
а ETAB-CURRENT_LINE = ETAB-LINES - ETAB-TOP_LINE.

Если есть работающее решение, то... пожалуйста.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 09 2005, 11:55 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
s_ss написал:
Так вот, я хочу установить

ETAB-TOP_LINE = (ETAB-LINES/количество строк на экране)*количество строк на экране
а ETAB-CURRENT_LINE = ETAB-LINES - ETAB-TOP_LINE.


Совсем вы чего-то запутались :-).
По законам математики,
(ETAB-LINES/количество строк на экране)*количество строк на экране
= ETAB-LINES.

Может быть, все проще?
Code:
ETAB-CURRENT_LINE = ETAB-TOP_LINE = ITAB_INDEX .

Либо
Code:
ETAB-TOP_LINE = ITAB_INDEX .
SET CURSOR LINE 1

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


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

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
111 написал(а):
s_ss написал:
Так вот, я хочу установить

ETAB-TOP_LINE = (ETAB-LINES/количество строк на экране)*количество строк на экране
а ETAB-CURRENT_LINE = ETAB-LINES - ETAB-TOP_LINE.


Совсем вы чего-то запутались :-).


Ну да, я имел в виду:
(целая_часть(ETAB-LINES/количество строк на экране))_*количество строк на экране.
Понятно, что здесь тоже не все в порядке. Я лишь хотел донести мысль.. :)

Цитата:
Может быть, все проще?
Code:
ETAB-CURRENT_LINE = ETAB-TOP_LINE = ITAB_INDEX .

Либо
Code:
ETAB-TOP_LINE = ITAB_INDEX .
SET CURSOR LINE 1

Да, я думал нат таким решением. В этом случае запись будет отбражена в самом верху. Я хотел красивше показать пользователю..
по экранам. :wink:

Эх.. не судьба. Спасибо.

PS Есть конечно еще решение взять поле sy-SROWS и вычесть из него лишние строки. Но оно некорректное: почти то же самое, что и задать количество видимых строк таблицы числом в формуле. :?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 09 2005, 13:55 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
s_ss написал:
Ну да, я имел в виду:
(целая_часть(ETAB-LINES/количество строк на экране))_*количество строк на экране.


Все равно чего-то не то :-) .
Тогда уж
ETAB-TOP_LINE = ITAB_INDEX div SY-LOOPC.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Последний раз редактировалось 111 Ср, фев 09 2005, 15:17, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 09 2005, 15:06 
Ассистент
Ассистент

Зарегистрирован:
Ср, окт 06 2004, 12:06
Сообщения: 35
Пол: Мужской
В CONTROLS для таблицы элемент LINES вроде содержит то, что нужно


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 09 2005, 15:20 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
nick_mi написал:
В CONTROLS для таблицы элемент LINES вроде содержит то, что нужно


Нет. LINES - это общее количество строк, которые ты хочешь вывести.
Служит для того, чтобы грид скроллинг мог делать. Чтобы знал, до какой записи скроллировать.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 09 2005, 15:29 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
s_ss написал:
Если таблица не заполнено полностью, то это число меньше чем число видимых строк в таблице.


Ничего подобного.
Просто это поле корректно заполняется только во время выполнения экранной логики, относящейся к гриду.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 10 2005, 08:44 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
111 написал(а):
s_ss написал:
Если таблица не заполнено полностью, то это число меньше чем число видимых строк в таблице.


Ничего подобного.
Просто это поле корректно заполняется только во время выполнения экранной логики, относящейся к гриду.

Вот оно :!:
Спасибо. Вот эта фраза, которую я так хотел услышать!


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

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


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

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


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

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