Как добавить группы в ListView? - PullRequest
0 голосов
/ 28 января 2020

Как новичок в элементах управления ActiveX, мне удалось запустить и запустить ListView (v6) в моей форме MS-Access 2019.

Я незнаком и неуклюж, как его реализовать, и я действительно не знаю, какую документацию использовать (путаюсь со многими опциями. NET CORE. NET Framework 4.8 et c. et c.). Благодарен, если кто-то может указать мне на ресурсы в сети!

Теперь я хотел бы добавить группы к ListView, но не могу понять, как это сделать. Я нашел примеры, которые явно не были VBA и пытался перевести их, но не смог.

То же самое касается увеличения шрифта.

Мой код для настройки и заполните ListView примером данных:

Dim oListView As ListView 

Private Sub Form_Load()

  Dim oListItem As ListItem
  Dim n As Integer

  Set oListView = Me.lvwTest.Object
  oListView.Font.Size = 12

  For n = 1 To 4

    Set oListItem = oListView.ListItems.Add(, "a" & n, n)
    oListItem.ListSubItems.Add, , "Foo " & n
    oListItem.ListSubItems.Add, , "Bar " & n

  Next

End Sub

Изменить

Почему ListView:

У меня есть список услуг, они связаны с определенной c датой, например,

------------------------------------------
01/28/2020                            [-]
------------------------------------------ 
double room                    1   58.00 €
breakfast                      2   16.00 €
------------------------------------------
01/29/2020                            [-]
------------------------------------------
double room - tuesday special  1   52.00 €
breakfast                      2   16.00 €
dinner                         2   26.00 €
foo                            2   12.00 €
bar                            1    4.60 €
------------------------------------------
01/30/2020 etc. etc.                  [-]
------------------------------------------  

ListView может выровнять столбец € по правому краю и, как я думал, добавить группы (даты). Я хочу развернуть / скрыть строки каждой группы, щелкнув заголовок группы.

Ответы [ 2 ]

1 голос
/ 28 января 2020

Для группировки забудьте ListView и переключитесь на MSHFlexGrid.
Обратите внимание, что " H " ... обозначает Hierarchical и, возможно, самый мощный элемент управления ActiveX за всю историю.
Проверьте здесь: http://www.vbforums.com/showthread.php?412201-Is-there-a-control-that-is-a-combination-between-TreeView-and-ListView

0 голосов
/ 29 января 2020

Я отвечу на мой вопрос из того, что я узнал из комментариев и исследований. Не стесняйтесь добавлять к этому ответу.

ListView -Control в MS-Access не поддерживает группировку его ListItems.

Я обратился к непрерывная подчиненная форма вместо ListView, форматирование заголовков групп с условным форматированием . Дополнительное текстовое поле txtHeader указывает, нужно ли форматировать строку как заголовок группы.
Если это так, подготовка формата установит цвет фона подсветки для пустого и несвязанного текстового поля, которое находится позади всех. другие элементы управления, охватывающие весь подробный раздел подчиненной формы.
Не имеет четкого вида хорошо сгруппированной ListView, но также не доставляет возможных хлопот с элементами ActiveX.

Как предложил Джон в комментариях, MSHFlexGrid - это ActiveX-Control, поддерживающий группирование. К сожалению это не доступно на 64-битной.

...