Embedded View

  • Автор темы oshmianski
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

oshmianski

#1
доброго времени, коллеги.

имеем:
встроенное на форму представление (показываются категории, т.е. отображается не просто плоский список, хотя это может быть и не важно) + Show single category.

проблема:
1) при открытии формы имеем полностью развернутое представление.
2) Shift и - (минус) полностью прячет все строки.

странности:
имею две формы с внедренными представлениями. в одной проявляется проблема 2, во второй нет - категория сворачивается, то таки отображается, т.е. данные не пропадают (что есть гут), но не понятно как и почему это происходит.

вопросы:
1) можно ли при открытии сворачивать категории?
2) можно ли как-то побороть "потерю" данных при полном сворачивании (Shift и - (минус))?

Где-то на просторах видел примерное решение проблемы 1, но потерял ссылку.
 

Kizarek86

Lotus team
20.07.2007
864
4
#2
<!--QuoteBegin-oshmianski+10:09:2007, 15:56 -->
<span class="vbquote">(oshmianski @ 10:09:2007, 15:56 )</span><!--QuoteEBegin-->1) можно ли при открытии сворачивать категории?
[snapback]77687" rel="nofollow" target="_blank[/snapback]​
[/quote]
Вторая закладка в свойствах представления, на третьей строчке сверху поставь галку, будет сворачиваться.
 
O

oshmianski

#3
Для: kizarek
ты это со знанием дела говоришь?
 
R

Ronchik

#4
Для: oshmianski
по п .2 к сожалению нигде такого решения не видел......гадость все равбно сворачивает по первому категоризированому столбцу
по п.1 согласен с kizarek
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#6
п1., если не ошибаюсь, решается через эмуляцию нажатия клавиш.
 

DNT

Постоялец форума
Lotus team
12.10.2005
594
2
#8
Есть решение по п.2. Нетривиальное, но всё же есть. См. ссылку.

Collapse All In Embedded View.

Проверял, таки работает!
смотрел материал по приведенной ссылке:

@SetTargetFrame("EmbeddedViewTarget");
@Command([OpenView];"YourEmbeddedView"; txt_Key);
@Command([ViewExpandAll]);
@Command([ToolsRunMacro];"(f9)")


если не трудно подскажите что такое"EmbeddedViewTarget". Какой фрейм указать? Ведь ембеддед вью у меня просто вставлено в форму... Или его надо вставить как-то по другому?
Спасибо.
 
O

oshmianski

#9
Для: DNT
я пока сделал на LS.

в PostOpen формы пишем:
Declare Sub keybd_event Lib "user32.dll" (Byval bVk As Integer, Byval bScan As Integer, Byval dwFlags As Integer,Byval dwExtraInfo As Integer)
keybd_event 32, 0, 0, 0 ' Space key down
keybd_event 32, 0, 2, 0 ' Space key up

keybd_event &hBD, 0, 0, 0 ' - key down
keybd_event &hBD, 0, 2, 0 ' - key up

зы: это пока сворачивает только одну категорию.
зызы: понравился больше тем, что маркер переносится на встроенную вьюху - не нужно делать лишних кликов мышкой
 
M

Mihal

#10
<!--QuoteBegin-DNT+10:09:2007, 19:13 -->
<span class="vbquote">(DNT @ 10:09:2007, 19:13 )</span><!--QuoteEBegin-->если не трудно подскажите что такое"EmbeddedViewTarget". Какой фрейм указать? Ведь ембеддед вью у меня просто вставлено в форму... Или его надо вставить как-то по другому?
Спасибо.
[snapback]77726" rel="nofollow" target="_blank[/snapback]​
[/quote]

EmbeddedView вставлен в форму, форма открывается в заданом фреймсете с двумя фреймами (верхний большой, нижний - невидимый). Форма открывается в верхнем фрейме. EmbeddedViewTarget - имя нижнего фрейма.

Основная идея. В нижнем фрейме (который EmbeddedViewTarget) открываем представление, которое встроенно в форму. Открывая сразу становимся на нужной категории. Потом всё сворачиваем и разворачиваем одну категорию (на которой стоим). После чего запускаем "пустой" агент F9 (дабы фокус отвалил от фрейма). И получаем колдунство. Нижнего фрейма не видно, поэтому все "пасы руками" не видны (как у истинного илзиониста).

Работает как дети в школу!
 
N
#11
Для: Mihal


У меня при вызове метода PickListStrings(PICKLIST_CUSTOM.... ), в котором используется в качестве параметра категоризированное представление документов для выбора, все категории изначально раскрыты всегда. Как сделать так, чтобы изначально они были закрыты?
 
Статус
Закрыто для дальнейших ответов.