Гость
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Получить имя Items / 9 сообщений из 9, страница 1 из 1
14.12.2011, 10:04
    #37574604
Vlad_567
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя Items
Есть master-detal Tabular Form, необходимо по клику мышкой по определенной ячейки в детальной части открыть страничку, в ней выбрать значение и вставить его обратно в детальную часть. Сохранение значения в базе будет только после нажатия на кнопку сохранить.
Получилось: по клику в детальной части, вызвать страничку, в ней выбрать необходимое, не получается вернуть выбранное назад.

Как узнать имя поля, в которое нужно вставить выбранное???
...
Рейтинг: 0 / 0
14.12.2011, 13:34
    #37575245
DARTSIDIOUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя Items
В Chrome или FireFox с плагином FireBug:
Клик правой кнопкой на поле > Inspect Element.

Отобразится что то типа <input type="TEXT" name="f06" size="8" maxlength="2000" value="0" id="f06_0002">

Записываем примерно так:

Из вызываемой страницы запускаем функцию на основной странице:

<script>
function save_pos(row_in,var1){
html_GetElement('f06_' + row_in).value=var1;
}
</script>
...
Рейтинг: 0 / 0
15.12.2011, 01:21
    #37576625
Vlad_567
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя Items
DARTSIDIOUS,

а как получить имя итема, куда надо вернуть результат?
начало имени я нашёл : f06_, а как получить номер строки в отчёте: _0002?
попробовал rownum, а при выполнении запроса вылезла ошибка: failed to parse SQL query:
ORA-01446: невозможно из представления с DISTINCT, GROUP BY и т.д. выбрать ROWID или произвести выборку
...
Рейтинг: 0 / 0
15.12.2011, 13:01
    #37577345
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя Items
Vlad_567,

автор"Current version of data in database has changed since user initiated update process. current row version identifier = "9979D5949AC9A93DE0FDAF7AFD086983" application row version identifier = "82B126F39DE3AEBD981F2B296E5B56D4" (Row 1)"
подобные действия нужно производить чисто через яваскрипт, без всяких submit-ов, и запрос под tabular form должен быть стандартным.

Vlad_567начало имени я нашёл : f06_, а как получить номер строки в отчёте: _0002?
попробовал rownum, а при выполнении запроса вылезла ошибка: failed to parse SQL query:
ORA-01446: невозможно из представления с DISTINCT, GROUP BY и т.д. выбрать ROWID или произвести выборку
пример как можно получить номер строки:
onClick="alert($(this).closest('table').children().children('tr').index($(this).closest('tr'))-1);"
...
Рейтинг: 0 / 0
15.12.2011, 14:01
    #37577539
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя Items
Кстати я вру, to_char(rownum,'0000') можно вычислять в tabular forms (никаких ошибок не возникает), или через row_number

Когда начинал работать с апексом, делал выпадающие окна, но не для Tabular Form, вот такой код:

Код: javascript
1.
onClick="window.open('f?p=&APP_ID.:...', 'linkTest', параметры)"


во всплывающем окне

Код: html
1.
<a href="javascript: opener.document.forms['wwv_flow'].P1_MYITEM.value='#VAL#'; window.close();"



очевидно тут нужно несколько больше, перед открытием сохранить номер строки, по которому можно будет вычислить id
примерно так (не тестировано)

Код: javascript
1.
onClick="$s('P1_CLICKED_ROW', '#NUM#'); window.open('f?p=&APP_ID.:...', 'linkTest', параметры)"


Код: html
1.
<a href="javascript: opener.$('#f06_' + opener.$('#P1_CLICKED_ROW')).val('#VAL#'); window.close();"



(без переменной P1_CLICKED_ROW можно и нужно обойтись), если доведёте до рабочего ума, отпостите что получилось другим.
Опять же я поленился искать на otn, вероятно там есть где-то рабочие варианты.
...
Рейтинг: 0 / 0
15.12.2011, 14:11
    #37577568
DARTSIDIOUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя Items
Здесь наверно есть все )
http://htmldb.oracle.com/pls/otn/f?p=31517:1
...
Рейтинг: 0 / 0
15.12.2011, 14:22
    #37577607
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя Items
DARTSIDIOUS,

Tabular c Попапами там нету, вроде как.
К сожалению, автор блога не очень дружит с jQuery (либо код старый).
...
Рейтинг: 0 / 0
15.12.2011, 14:36
    #37577648
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя Items
че-то я сразу не сообразил
Код: plsql
1.
to_char(rownum,'0000') num


Код: javascript
1.
onClick="var CLICKED_ROW = '#NUM#'; window.open('f?p=&APP_ID.:...', 'linkTest', параметры)"


Код: html
1.
<a href="javascript: opener.$('#f06_' + opener.CLICKED_ROW).val('#VAL#'); window.close();"
...
Рейтинг: 0 / 0
16.12.2011, 01:19
    #37578956
Vlad_567
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя Items
Спасибо за ответы, я сделал так:
в TabularForm сделал вызов функции, в которую передаю идентификатор строки (по которой кликнул мышкой), затем нашел номер строки с таким идентификатором и по нему определил номер строки. Затем составил имя Itema и передал его на другую страницу, а оттуда уже вернул выбранное значение назад.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Получить имя Items / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]