C# dataGridView绑定List数据

本来以为简单绑定一下就能显示,后来发现这个玩意挺麻烦的

首先是dataGridView本身的设置, DataPropertyName这个值很重要。一开始以为绑定的ColumnName,后来发现这个值才是绑定数据显示的依据。

dataGridView1.AutoGenerateColumns = false;                    // 防止自由生成所有数据列
dataGridView1.Columns.Add("address", "address");              // 手动添加某列
dataGridView1.Columns[0].DataPropertyName = "address";        // 设置为某列的字段

List不能使用string这种基本类型。需要写一个类,来存放数据,

class FileData
{
    public FileData(string addr)
    {
        address = addr;
    }
    public string address { get; set; }  // 这里必须有get
}

最后每次修改数据后要重新绑定数据,才能刷新显示

buffer_data_view.DataSource = new BindingSource(new BindingList(buffer_list), null);

用下面的也可以,不过最好是用上面的,更标准

buffer_data_view.DataSource = new BindingList(buffer_list);

你可能感兴趣的:(C#,Winform,c#,list,开发语言)