excel - VBA Excel ListView 复选框不显示在用户窗体中
问题描述
我有一个带有 MultipageControl(名称 Controller_MultiPage)的用户窗体。在运行时,我的代码将页面添加到 Multipage 并在每个页面上创建一个 newListView。每个 ListView 都有:
With newListView
.MultiSelect = False
.Width = Controller_MultiPage.Width - 10
.Height = Controller_MultiPage.Height - 20
.View = lvwReport
.HideColumnHeaders = False
.ColumnHeaders.Add Text:="Signal Name", Width:=.Width / 10 * 4
.ColumnHeaders.Add Text:="Type", Width:=.Width / 10
.ColumnHeaders.Add Text:="I/O", Width:=.Width / 10
.ColumnHeaders.Add Text:="Description", Width:=.Width / 10 * 4
.CheckBoxes = True
.FullRowSelect = True
End With
然后我用 XML 文件中的数据填充 newListView:
For Each node In list
With node.Attributes
Set listItem = newListView.ListItems.Add(Text:=.getNamedItem("Name").Text)
listItem.ListSubItems.Add = .getNamedItem("Type").Text
listItem.ListSubItems.Add = IIf(.getNamedItem("Input").Text = "1", "IN", "OUT")
listItem.ListSubItems.Add = .getNamedItem("Description").Text
listItem.Checked = False
End With
Next
但复选框不显示。我可以在第一列前面看到它们的空间,然后单击该空间,然后出现该特定行的复选框。我还注意到,如果我更改属性
listItem.Checked = True
上述行为没有改变,当我单击第一列(复选框空间)前面的可用空间时,然后显示的 chsckbox 仍然未选中。任何想法?
解决方案
我刚刚找到了同样问题的答案,我觉得自己很愚蠢。我将 Listview 的第一列设置为 Width = 0...,因此复选框将不再显示。我给了它一个宽度,一切都恢复了正常......
推荐阅读
- google-docs-api - Google Docs API - 调整表格列的宽度
- java - Runtime.getRuntime().availableProcessors() 返回 1 即使 ECS AWS 上有许多可用内核
- php - 使用ajax根据下拉菜单选择更新文本字段
- javascript - 在 iframe 中加载子域,同时避免使用 document.domain 进行跨域框架
- javascript - 如何显示分数计数,显示它已随机生成的次数?
- python-3.x - 熊猫:找到所有列的最大值并打印这一行
- git - 为不同的分支部署 GitLab 页面
- python - 如何修复错误'AttributeError:'list'对象没有属性'shape'?
- java - 如何使用自己的reduce方法来区分列表
- makefile - make: *** 没有规则来制作目标 'php','test-newsletter-only' 需要。停止