Добавить строку после установки источника данных в Datagridview

У меня было много вопросов, связанных с привязкой источника данных к сетке данных. У меня был DatagridView, для которого я устанавливаю источник данных из списка

List li = new List();

MyClass O = new MyClass();
O.Name = "Aden";
O.LastName = "B";
O.Id = 12;
li.Add(O);
O = new MyClass();
O.Name = "Li";
O.LastName = "S";
O.Id = 22;
li.Add(O);

Mydgv.DataSource = li;

Где MyClass

public Class MyClass
{
 public string Name {get; set;}
 public string LastName {get; set;}
 public decimal Id {get; set;}
}

Теперь хочу добавить новую строку в My DataGridView

DataGridViewRow row = (DataGridViewRow)yourDataGridView.Rows[0].Clone();
row.Cells[0].Value = "XYZ";
row.Cells[1].Value = 50.2;
Mydgv.Rows.Add(row);

Но это не возможно, это вызывает ошибку, потому чтоИсточник данных Datagrid связан со спискомлитий, Итак, мой первый вопрос: как я могу это сделать?

Мой второй вопрос: для этого я принял решение изменить свой список Ли и добавить в него новую строку данных, а затем установить для него источник данных сетки данных, но я думаю, что это нереальное решение, есть ли лучшее решение?

Даже пытался сделать это с помощью CurrencyManager

CurrencyManager currencyManager1 = (CurrencyManager)BindingContext[MyGrid.DataSource];
currencyManager1.SuspendBinding();
DataGridViewRow row = (DataGridViewRow)yourDataGridView.Rows[0].Clone();
row.Cells[0].Value = "XYZ";
row.Cells[1].Value = 50.2;
Mydgv.Rows.Add(row);
currencyManager1.ResumeBinding();

Насколько я знаю, я приостановил привязку DataGrid, чтобы обеспечить форматирование в Grid, как я выполнил в одном из своих постов.Сделать строку видимой ложной, Но почему это не такне работает здесь при добавлении строки в datagrid?

Ответы на вопрос(5)

Ваш ответ на вопрос