Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Простой вопрос про текущую строку в Forms.  [new]
bkm
Member

Откуда:
Сообщений: 18
Есть на форме табличка в 20 строк. Щелкаю мышкой на любой строке и любой колонке. Как взять значение из этой ячейки. Что-то вроде :Current_Block.Current_Item. Вроде очень простой вопрос, но запутался.
20 ноя 06, 16:31    [3425552]     Ответить | Цитировать Сообщить модератору
 Re: Простой вопрос про текущую строку в Forms.  [new]
Sergey_Evdokimov
Member

Откуда: Moscow
Сообщений: 362
SYSTEM.CURSOR_BLOCK, SYSTEM.CURSOR_ITEM
А что, справка не стоит? :)
20 ноя 06, 16:36    [3425585]     Ответить | Цитировать Сообщить модератору
 Re: Простой вопрос про текущую строку в Forms.  [new]
bkm
Member

Откуда:
Сообщений: 18
Sergey_Evdokimov
SYSTEM.CURSOR_BLOCK, SYSTEM.CURSOR_ITEM
А что, справка не стоит? :)


Справка есть - пробовал и то и другое. Почемуто не получается. Думал что-то не так делаю. Тогда попробую детализировать.

Форма открывается пустая. Делаю Execute_Query. Значений в таблице нет - только появляется первая строка - с Init Value значениями(например 00:00) в каждой колонке. Я кликаю на первой колонке - ниже первой(вторая, третья) строки - где нет Init Value - там пусто - но обработчик на клик срабатывает:
begin
if (:SYSTEM.Cursor_Item is not null) then
Show_Window('WINDOW', 100, 100);
end if;
end;

тоесть окно 'WINDOW' открывается. Вот не пойму почему не срабатывает условие: if (:SYSTEM.Cursor_Item is not null) then
20 ноя 06, 16:59    [3425787]     Ответить | Цитировать Сообщить модератору
 Re: Простой вопрос про текущую строку в Forms.  [new]
bkm
Member

Откуда:
Сообщений: 18
Вернее не if (:SYSTEM.Cursor_Item is not null) then
а if (:SYSTEM.Cursor_Value is not null) then

На какой строке не кликну, даже пустой, :SYSTEM.Cursor_Value возвращает значение Init Value с первой строки.
20 ноя 06, 17:10    [3425859]     Ответить | Цитировать Сообщить модератору
 Re: Простой вопрос про текущую строку в Forms.  [new]
Sergey_Evdokimov
Member

Откуда: Moscow
Сообщений: 362
Справочку внимательно читаем!
Restrictions:

· Use SYSTEM.CURSOR_VALUE in triggers that fire after the user interacts with an item, such as When-Validate-Item or Post-Item, Post-Record, and Post-Block triggers. In these triggers, the value of SYSTEM.CURSOR_VALUE is value of the item where the cursor is located.

· Avoid using SYSTEM.CURSOR_VALUE in Pre-Form and Post-Form triggers, where the value of SYSTEM.CURSOR_VALUE is NULL.
А чем не устраивает
:Block.ITEM_NAME
?
В крайнем случае можно сделать так:
NAME_IN(SYSTEM.CURSOR_BLOCK || '.' || SYSTEM.CURSOR_ITEM);
Версия формс (С этого надо начинать)? И что Вам надо сделать?
21 ноя 06, 09:28    [3427609]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить