好的,我有我的自定义课程:
public class FileItem : INotifyPropertyChanged
{
int id=0;
string value="";
public int Id
{
get { return id; }
set { id = value; Changed("Id"); }
}
public string Value
{
get { return value; }
set { this.value = value; Changed("Value"); }
}
public event PropertyChangedEventHandler PropertyChanged;
void Changed(string name)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
}
public BindingList<FileItem> FilesystemEntries = new BindingList<FileItem>();
我将 DatagridView1 的 DataSource 设置为 FilesystemEntries:
binding.DataSource = FilesystemEntries;
我已经可以添加和删除行了——这些变化反映在集合上。但是,当我在 DataGridView 中更改 Value 和 Id 时,它们不会保存到投标列表中,id 始终为 0,value 为“”。
我怎样才能使这项工作?我是否需要对 FileItem 实现一些接口以允许编辑属性?
DGV 的 ReadOnly 设置为 false,对所有列都相同。启用编辑、删除和更改。