title: Binding List<T> to DataGridView in WinForm
body: <p>I have a class</p>
  
  <pre><code>class Person{
        public string Name {get; set;}
        public string Surname {get; set;}
  }
  </code></pre>
  
  <p>and a <code>List&lt;Person&gt;</code> to which I add some items. The list is bound to my <code>DataGridView</code>.</p>
  
  <pre><code>List&lt;Person&gt; persons = new List&lt;Person&gt;();
  persons.Add(new Person(){Name="Joe", Surname="Black"});
  persons.Add(new Person(){Name="Misha", Surname="Kozlov"});
  myGrid.DataSource = persons;
  </code></pre>
  
  <p>There is no problem. <code>myGrid</code> displays two rows, but when I add new items to my <code>persons</code> list, <code>myGrid</code> does not show new updated list. It only shows the two rows which I added before.</p>
  
  <p>So what is the problem?</p>
  
  <p>Rebinding every time works well. But when I bind a <code>DataTable</code> to the grid when every time when I make some changes to <code>DataTable</code> there is not any need to ReBind <code>myGrid</code>.  </p>
  
  <p>How to solve it without rebinding every time?</p>