Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.74/113: Рейтинг темы: голосов - 113, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 19.03.2011
Сообщений: 205

Обновить UI-док во фрейме из другого фрейма

01.04.2013, 14:15. Показов 21496. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 2 фрейма: в левом - док на редактировании, в правом - View.
Из View, LS изменяет левый док. Надо, сразу после изменений сделать RefreshHideFormulas в доке слева (в идеале Refresh).
Как попроще?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.04.2013, 14:15
Ответы с готовыми решениями:

Генерация кода во фрейме по изменению другого фрейма
Уважаемые! Я пока тока начинаю постигать крутость javascript, поэтому интересуюсь такой проблемой: в чате есть правый фрейм со списком...

Как при нажатии по кнопке в одном фрейме, изменить размер другого фрейма?
Здравствуйте, появился такой вопрос: Как при нажатии по кнопке в одном фрейме, изменить размер другого фрейма? Вот такая штука: ...

Как из одного фрейма обратиться к содержимому формы другого фрейма?
страница состоит из нескольких фреймов. Как из одного фрейма обратиться к содержимому формы другого фрейма?...плизззз намыльте

27
0 / 0 / 0
Регистрация: 09.12.2012
Сообщений: 101
01.04.2013, 14:26
@Command([RefreshFrame]; "FrameName") не помогет?
0
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 256
01.04.2013, 14:33
Цитата Сообщение от alexas
Есть 2 фрейма: в левом - док на редактировании, в правом - View.
Из View, LS изменяет левый док. Надо, сразу после изменений сделать RefreshHideFormulas в доке слева (в идеале Refresh).
Как попроще?
Попробуйте в этом скрипте Evaluat-ом выполнять @SetTargetFrame и @Command([RefreshFrame])


Попробовал:


LotusScript
1
2
@SetTargetFrame("Frame1");
@Command([EditDocument]; "0"; 1)
Должно работать
0
0 / 0 / 0
Регистрация: 19.03.2011
Сообщений: 205
01.04.2013, 14:39
@Command([RefreshFrame]; "FrameName") не рефрешит док к сожалению
0
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 256
01.04.2013, 16:11
Цитата Сообщение от alexas
@Command([RefreshFrame]; "FrameName") не рефрешит док к сожалению
Также


LotusScript
1
Call notesUIWorkspace.ReloadWindow( )
- В принципе довольно нормально работает

а вот это:

LotusScript
1
2
ws.SetTargetFrame("Frame1")
ws.EditDocument False, doc
вообще на ура
:mellow:
0
0 / 0 / 0
Регистрация: 19.03.2011
Сообщений: 205
01.04.2013, 16:19
Цитата Сообщение от Dragon108
@SetTargetFrame("Frame1");
@Command([EditDocument]; "0"; 1)
К сожалению, это не мой случай. Это открывает док из View в PreviewPane: у меня "левый" док - просто абстрактный док, к докам из View правого фрейма не относящийся и фрейм не PreviewPane :mellow:
0
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 256
01.04.2013, 16:38
Цитата Сообщение от alexas
К сожалению, это не мой случай. Это открывает док из View в PreviewPane: у меня "левый" док - просто абстрактный док, к докам из View правого фрейма не относящийся и фрейм не PreviewPane :(
Ну из изначальной поставноки вопроса я понял что у вас как раз стандартный фреймсет поделенный надвое - однин фрейм: вьюшка, в другом фрейме: отображаемый оттуда документ. ну да ладно :mellow: Я так понимаю ваш этот абстрактный док берет данные из этих обрабатываемых документов в представлении?

В таком случае попробуйте Call notesUIWorkspace.ReloadWindow() - если уж и это не поможет, то тогда можно хардкорно переоткрывать целиком базу

А вообще, если не секрет, зачем вам такое нужно? может этот абстрактный док, обновлять отдельно? (по кнопке, ссылке и т.д.)
0
0 / 0 / 0
Регистрация: 19.03.2011
Сообщений: 205
01.04.2013, 16:40
Цитата Сообщение от Dragon108
1. Call notesUIWorkspace.ReloadWindow( )
........
2. ws.SetTargetFrame("Frame1")
ws.EditDocument False, doc
1. Изначально - левый фрейм пустой, потом туда грузится док. ReloadWindow( ) вызовет открытие пустого левого фрейма, конечно туда можно опять подгрузить нужный док но это не быстрые операции - моргание экрана бъет по глазам и закрытие-открытие вкладок то-же не эстетично. Мне надо получить UI уже открытого дока, а не перезагрузить его в в фрейм.
2. Этот вариант мог бы иметь место, если-бы док не был открыт во фрейме - newInstance = False в фрейм не работает - откроется еще один экземпляр дока в новой вкладке :mellow:
0
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 256
01.04.2013, 16:46
-
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
01.04.2013, 16:51
А если сохранить UNID дока в левом фрейме в notes.ini
Затем переполучить его и открыть именно в этом фрейме открытого фреймсета?
0
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 256
01.04.2013, 17:01
А как у вас открывается док во фрейме? В результате чего он туда грузится?

Добавлено:


Цитата Сообщение от alexas
Мне надо получить UI уже открытого дока, а не перезагрузить его в в фрейм.
NotesUIDocument - это текущий документ, это UI, получить его не находясь на нем - нельзя; нельзя перейти от NotesDocument к NotesUIDocument - только наооборот.

Поэтому боюсь вам придется только перегружать фрейм ... тем самым работая с NotesUIWorkspace
0
0 / 0 / 0
Регистрация: 19.03.2011
Сообщений: 205
01.04.2013, 17:16
Цитата Сообщение от savl
.....Затем переполучить его и открыть именно в этом фрейме открытого фреймсета?
Постоянная перезагрузка дока в фрейм во время работы - не айс, сильно по глазам бъет.


Цитата Сообщение от Dragon108
не секрет, зачем вам такое нужно? может этот абстрактный док, обновлять отдельно? (по кнопке, ссылке и т.д.)
Ну базу-то обновлять - это уж совсем...
Абстрактный док это, в общепринятой терминологии, "отчет" по части данных из разнотипных доков в View правого фрейма. Отчет формируется автоматом при открытии левого дока и автоматом обновляется при изменении критериев формирования отчета (при редактировании левого дока) и при именении правых доков (RealTime) пока юзер даботает в этом FrameSet-е.
Измененные данные в левый док записываются и отображаются нормально. сводные данные (собственно отчет) можно расчитать скритптом и уже сформированные, записать в левый док, это без проблем. Но! Надо изменить док в соответствии с критериями видимости различных параграфов. Т.е. надо RefreshHideFormulas, как минимум, в уже показанном на мониторе документе для обеспечения нормального юзабилити.
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
01.04.2013, 17:21
А если эту галочку выставить?
0
0 / 0 / 0
Регистрация: 19.03.2011
Сообщений: 205
01.04.2013, 17:33
Цитата Сообщение от savl
А если эту галочку выставить?
Это сработает, если буду по полям бегать, а надо при изменении дока со стороны LS из View.
Я из за индусских ограничений даже кнопку рефрешную программно нажать не могу!!! - ...URLOpen( "java script:... не работает в фреймах!!!
Но чувствую какое-то решение должно быть! Стандартное хочу :mellow: , прикручивать сюда хепаги на пустом месте уж очень не хочется, да и там проблемы будут точно.
0
0 / 0 / 0
Регистрация: 19.03.2011
Сообщений: 205
01.04.2013, 17:44
Цитата Сообщение от Dragon108
NotesUIDocument - это текущий документ, это UI, получить его не находясь на нем - нельзя ....
Можно - через ws.Edit (newInstance = False ) но это, как я уже писал, в фрейме не работает.
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
01.04.2013, 17:46
JS таймер на форме? Старт на событии OnLoad. Скрытая HTML-кнопка с Refresh.
Запустить таймер и каждые 5 сек обновлять.
Тормозить наверное правда будет.
0
0 / 0 / 0
Регистрация: 19.03.2011
Сообщений: 205
01.04.2013, 17:58
Цитата Сообщение от savl
JS таймер на форме? Старт на событии OnLoad. Скрытая HTML-кнопка с Refresh.
Запустить таймер и каждые 5 сек обновлять.
Тормозить наверное правда будет.
Точно! Спасибо! Нормальный рефреш из-за тормозов не сделать, а HideFormulas должно прокатить (там и милисекунды можно).
Но будет утечка памяти, вдруг юзер час сидеть за формой будет? Как с этим справиться, может кто знает?
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
01.04.2013, 18:12
Попросить переоткрыть форму после работы более Х времени...
Предложить сохранить текущую форму и переоткрыть.
Можно проверить про утечку памяти на себе, открыть на пару часов и заполнять.
Может и обойдется, хотя всего не предусмотреть.
0
0 / 0 / 0
Регистрация: 19.03.2011
Сообщений: 205
01.04.2013, 18:52
Цитата Сообщение от savl
Попросить переоткрыть форму после работы более Х времени...
Как память убегает в диспетчере визуально видно. Единицы килобайт считает зараза.
Переоткрытие формы память не освободит, по-моему.
0
0 / 0 / 0
Регистрация: 19.03.2011
Сообщений: 205
02.04.2013, 12:15
savl, еще раз спасибо за дельный совет в нужное время.
Сделал так:
UI не получаю. На форме, JS проверяет значение управляющего поля "NeedRefresh" каждые 100мс. После внесения изменений в дос в бекграунде, записываю в управляющее поле код который определяет, что надо сделать в UI. JS видит "NeedRefresh" !=0 и нажимает нужную кнопку (раньше мог только сделать какие-то действия в UI получив дос через ws.EditDocument и то с большими ограничениями - например Refresh - нельзя, падает клиент).
Т.о. док сам себя обновляет когда надо, такой типа AJAX. Не тормозит, редактировать не мешает, утечка памяти не замечена. Можно навесить таймеров на кучу доков без проблем - таймер работает только в доке на котором фокус.

Тема закрыта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.04.2013, 12:15
Помогаю со студенческими работами здесь

Меню из фрейма поверх другого фрейма
Здравствуйте! Ребята у меня такая проблема есть 4 фрейма(верхний(logo), боковой, основной(mainFrame) и нижний). В верхний фрэйм я...

Обновление фрейма по кнопке из другого фрейма
Доброго вам времени суток. Суть моего вопроса такова: у меня есть страница, которая содержит в себе два фрейма (Frame1 и Frame2). Во...

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

Обновить док после вызова Dialogboxa
Есть документ, в нем кнопка, по этой кнопке вызывается формочка для заполнения данными (DialogBox - в этот диалог бокса вставляется другой...

Как обновить главную страницу из фрейма
Доброе все утром. Помоги пожалуйста, есть главная страница на которой присутствует фрейм, в котором по нажатию на кнопку меню, главной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru