Скрыть Столбец Во Встроенном Представлении

12.07.2013
5
0
#1
Есть встроенное представление в документ, нужно по нажатию кнопки скрыть/показать столбец.
Сделал так, но понимаю что нужно как-то обновить view. ПОМОГИТЕ!!

Sub Click(Source As Button)
Dim session As New NotesSession
Dim bd As NotesDatabase
Dim view As NotesView
Dim column As NotesViewColumn

Dim uiws As New NotesUIWorkspace

Set bd = session.CurrentDatabase
Set view = bd.GetView("v_project_sostav")
Set column = view.Columns(5)
column.IsHidden = False
End Sub
 

savl

Well-Known Member
Lotus team
28.10.2011
2 116
157
32
#4
Думаю надо не обновлять, а перестраивать вьюху или переоткрыть ее... А это долго.
И еще кажись, но не уверен, надо права Editor иметь, чтобы править свойства колонки.
Можно попробовать переоткрывать документ.
А как будут после этого видеть другие пользователи данное представление? с колонкой или без?

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

Косяк будет, когда захотят скрывать колонки "как угодно" или по каждой кнопке свою колонку,а их там 10-15.
Не 15 же вьюх рисовать...
Тогда надо будет делать по другому, кто-то на форуме использовал такую схему:
сделать профайл на каждого пользователя, в профайле хранить флаги скрытия колонок.
В формуле скрытия колонки прописать формулу проверки флага, но все равно проблему с переоткрытием не решит.
Так как формулы скрытия будут вычисляться при показе представления, надо будет его переоткрыть.