gpt4 book ai didi

.net - 如何将自定义类的通用列表绑定(bind)到 datagridview 并仅在 VB.NET 中显示特定属性?

转载 作者:行者123 更新时间:2023-12-02 08:39:22 25 4
gpt4 key购买 nike

我想要一种以我完全控制的自定义方式在 datagridview 中呈现自定义类的方法。例如,如果我现在简单地将 List 绑定(bind)到 datagridview,将为每个公共(public)属性创建一个列。即使我使用 DataGridViewTextBoxColumn 的 DataPropertyName 属性,也会为自定义类的每个附加属性创建附加列。

我知道我可以自己简单地填充 datagridview,但即使是 VB.NET 初学者,我也觉得这不是一个好的解决方案。是吗?

我想我记得可以实现一些接口(interface)来帮助准确指定类在 datagridview 控件中的表示方式。

有人能指出我找到最好和最有效的解决方案吗?

最佳答案

您可以使用 Browsable attribute .

如果将以下类的列表绑定(bind)到 DataGridView

Class Person

Public Property Name As String

Public Property Department As String

<System.ComponentModel.Browsable(False)>
Public Property SomethingInternal As String

End Class

只会创建 NameDepartment 列。

简单示例:

Using f As New Form
Dim g = New DataGridView With {
.Dock = DockStyle.Fill,
.DataSource = { New Person With
{
.Name = "Foobar",
.Department = "BarFoo",
.SomethingInternal = "Don't show this"
}}}
f.Controls.Add(g)
f.ShowDialog()
End Using

enter image description here

关于.net - 如何将自定义类的通用列表绑定(bind)到 datagridview 并仅在 VB.NET 中显示特定属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17987611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com