DataGridView更改显示类型

本文关键字:类型 显示 DataGridView | 更新日期: 2023-09-27 18:27:24

我有一个在DataGridView中显示的BindingList,我的问题是我显示的属性之一是byte[],我认为它将其解释为位图(来自错误消息)。

有两种解决方案,我可以看到

  1. 我想要的是将它显示为一个字符串,以便进行某种显式转换?

  2. 我可以制作一个新的列,将密码转换为字符串。这看起来有点草率,我宁愿不这么做。

DataGridView更改显示类型

一旦您控制了底层数据源类,您就可以添加一个仅用于数据绑定的特殊属性(这样就不会破坏现有代码),并使用属性来控制哪一个应用于UI。

假设你的课是这样的

class MyClass
{
    // ....
    public byte[] Password { get; set; }
}

您可以按以下进行更改

class MyClass
{
    // ....
    [Browsable(false)]
    public byte[] Password { get; set; }
    [DisplayName("Password")]
    public string PasswordText
    {
        get { ... }
    }
}

并且将在CCD_ 4和类似的控制中获得期望的行为。