Хорошо, у меня есть свой собственный класс:
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, идентификатор всегда равен 0, а значение равно «».
Как я могу заставить это работать? Нужно ли мне реализовать какой-то интерфейс для FileItem, чтобы разрешить редактирование свойств?
Только для чтения DGV установлено значение false, одинаковое для всех столбцов. Редактирование, удаление и изменение включены.