Я не могу точно сказать, что вы пытаетесь сделать с примером, который вы включили, но связывание с общим списком объектов довольно просто, если вы просто хотите перечислить объекты:
private BindingSource _gridSource;
private BindingSource GridSource
{
get
{
if (_gridSource == null)
_gridSource = new BindingSource();
return _gridSource;
}
}
private void Form1_Load(object sender, EventArgs e)
{
List<FluffyBunny> list = new List<FluffyBunny>();
list.Add(new FluffyBunny { Color = "White", EarType = "Long", Name = "Stan" });
list.Add(new FluffyBunny { Color = "Brown", EarType = "Medium", Name = "Mike" });
list.Add(new FluffyBunny { Color = "Mottled", EarType = "Short", Name = "Torvald" });
GridSource.DataSource = list;
dataGridView1.Columns["EarType"].Visible = false; //Optionally hide a column
dataGridView1.DataSource = GridSource;
}
Если вы хотите отображать только определенные свойства типа Списка, вы должны сделать ненужные столбцы невидимыми.
Технически, вам не нужно создавать BindingSource, но я считаю, что намного проще, когда я делаю обновления или изменения, если они у меня есть.
Надеюсь, это поможет.