OK、カスタムクラスがあります:
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>();
そして、DataSourceがFilesystemEntriesに設定されたDatagridView1があります。
binding.DataSource = FilesystemEntries;
すでに行を追加および削除できます-これらの変更はコレクションに反映されます。ただし、DataGridViewで値とIDを変更すると、値とIDは入札リストに保存されません。IDは常に0で、値は「」です。
どうすればこれを機能させることができますか?プロパティを編集できるようにするには、FileItemへのインターフェイスを実装する必要がありますか?
DGVのReadOnlyは、すべての列と同じようにfalseに設定されます。編集、削除、変更が有効になります。