Та же проблема для меня, и BindingList
не решил ее, но ответ Мерлина подсказал мне возможное решение.
Заключение списка в BindingSource
является важной частью решения (как также задокументировано в другом вопросе: Невозможно разрешить пользователю добавлять строки в DataGridView со списком <> Источник данных ).
И для меня отсутствующим шагом было то, что у класса объектов в моем списке не было открытого конструктора без параметров . Добавление конструктора без параметров позволило AllowUserToAddRows
функционировать, как ожидалось.
Я получил подсказку об исключении, которое возникло при попытке ответить на вопрос Мерлина, сообщение о котором предполагает, что также возможно включить добавление строки, обработав событие AddingNew
:
AddNew нельзя вызывать для типа «MyType». Этот тип не имеет
открытый конструктор по умолчанию. Вы можете позвонить AddNew по типу «MyType»
если вы обрабатываете событие AddingNew и создаете соответствующий объект.
Я не пробовал этого, поскольку, к счастью, добавление общедоступного конструктора без параметров не было для меня проблемой, но это сообщение надежды для всех, кто не может добавить конструктор без параметров.