如何隐藏列表中的列

时间:2016-06-03 10:59:01

标签: access-vba

我有一个列表链接到一个表格,让我们说,ID,名称和子名称,这些是我的表格的属性。

出于治疗目的,我希望在我的列表中有ID,但最终用户看到它的列是没用的。所以我正在寻找一种方法来隐藏列表中的这一列,同时保持其他两个(名称和子名称)可见。而且,尽管我的研究,我还没有办法做到这一点。

我找到了ColumnHidden属性,但我并没有真正理解它是如何工作的,因为我无法使用此指定列表中的一个特定列(与Column()属性不同)。

理想的是拥有类似Me!List.Column(IDColumn).Visible = False的东西,但显然它不起作用。

我希望我对所寻求的内容足够清楚。

2 个答案:

答案 0 :(得分:0)

您可以通过将其调整为0来隐藏它。

ListView1.Columns(1).Width = 0

然后它将是不可见的,但您仍然可以访问正常的Listview函数 最终用户仍然可以调整大小并查看内容。

可以通过使用ColumnWidthChanging事件来阻止:

If e.ColumnIndex.Equals(1) Then
        e.NewWidth = 0
        e.Cancel = true
    End If

我刚试了一下:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ListView1.Columns(1).Width = 0
    End Sub

    Private Sub ListView1_ColumnWidthChanging(sender As Object, e As ColumnWidthChangingEventArgs) Handles ListView1.ColumnWidthChanging
        If e.ColumnIndex.Equals(1) Then
            e.NewWidth = 0
            e.Cancel = True
        End If
    End Sub

它对我来说很好。

答案 1 :(得分:0)

我只是在访问属性下将宽度更改为0。至少对我来说这对我来说要容易得多。 HTH