DataSource
реализовано как свойство.
private object _dataSource;
public object DataSource {
get
{
return _dataSource;
}
set
{
if (value != _dataSource) {
_dataSource = value;
UpdateTheDataGridView();
RaiseTheDataSourceChangedEvent();
}
}
}
Свойство чтения / записи - это набор из двух методов, которые автоматически вызываются при доступе к свойству; set
при назначении значения, get
при чтении свойства.
Обратите внимание, что изменение регистрируется только в том случае, если вы назначаете источнику данных что-то другое. Это означает, что вы не можете обновить сетку, переназначив один и тот же источник данных.
var list = new List<string> { "a", "b", "c" };
dgv.DataSource = list;
list.Add("d");
dgv.DataSource = list; // Does not work.
Обход:
list.Add("d");
dgv.DataSource = null; // <== this does the trick.
dgv.DataSource = list;