本来以为简单绑定一下就能显示,后来发现这个玩意挺麻烦的
首先是dataGridView本身的设置, DataPropertyName这个值很重要。一开始以为绑定的ColumnName,后来发现这个值才是绑定数据显示的依据。
dataGridView1.AutoGenerateColumns = false; // 防止自由生成所有数据列
dataGridView1.Columns.Add("address", "address"); // 手动添加某列
dataGridView1.Columns[0].DataPropertyName = "address"; // 设置为某列的字段
List<T>不能使用string这种基本类型。需要写一个类,来存放数据,
class FileData
{
public FileData(string addr)
{
address = addr;
}
public string address { get; set; } // 这里必须有get
}
最后每次修改数据后要重新绑定数据,才能刷新显示
buffer_data_view.DataSource = new BindingSource(new BindingList<FileData>(buffer_list), null);
用下面的也可以,不过最好是用上面的,更标准
buffer_data_view.DataSource = new BindingList<FileData>(buffer_list);