在WinForm中是否可以自定义类数据绑定

本文关键字:自定义 数据绑定 WinForm 是否 | 更新日期: 2023-09-27 18:31:12

在 WPF 中,我成功地将自定义类绑定到 ListView 中。

我正在尝试为WinForm实现同样的事情。

我有一个 DataGridView dvg1;

        private void button1_Click(object sender, EventArgs e)
    {
        Automobile A = new Automobile();
        A.Manufactor = "Mazda";
        A.HorsePower = "148 HP";
        A.CarName = "3";
        dvg1.DataSource = A;
        dvg1.DataBindings.Add("Text", A, "Manufactor");
        dvg1.DataBindings.Add("Text", A, "HorsePower");
        dvg1.DataBindings.Add("Text", A, "CarName");
    }
}
public class Automobile
{
    public string Manufactor { get; set; }
    public string HorsePower { get; set; }
    public string CarName { get; set; }
}

我不太确定在这里做什么。我想用来自汽车的项目填充 dvg1。我希望 dvg1 项目值上的项目在更新项目时更改。

例如,如果 A.CarName 从"3"更改为"速度",我希望它反映在 dvg1 上。

我是否在寻找正确的方法?还是仅在 WPF 上?

在WinForm中是否可以自定义类数据绑定

您可以将List(Of Automobile)绑定到 DGV。它将自动为每个属性分配列。

List<Automobile> myAutos = New List<Automobile>;
//add automobiles then bind
dgv.DataSource = myAutos;