title: How do I set up a DataGridView ComboBoxColumn with a different DataSource in each cell?
body: <p>I am setting up a <code>DataGridViewComboBoxColumn</code> like this:</p>
  
  <pre><code>var newColumn = new DataGridViewComboBoxColumn() {
      Name = "abc"
  };
  newColumn.DataSource = new string[] { "a", "b", "c" }; 
  dgv.Columns.Add(newColumn);
  </code></pre>
  
  <p>This works: each row has a dropdown box in that column, populated with a, b, c.</p>
  
  <p>However, now I would like to trim the list for certain rows. I'm trying to set the list per row like this:</p>
  
  <pre><code>foreach (DataGridViewRow row in dgv.Rows) {
      var cell = (DataGridViewComboBoxCell)(row.Cells["abc"]);        
      cell.DataSource = new string[] { "a", "c" };                        
  }
  </code></pre>
  
  <p>However, this code has no effect - every row still shows "a", "b", "c".</p>
  
  <p>I have tried replacing <code>new string[]</code> with <code>new List&lt;string&gt;</code> and <code>new BindingList&lt;string&gt;</code>, both to no avail.</p>
  
  <p>I also have tried removing the code that sets <code>newColumn.DataSource</code>, but then the lists are empty.</p>
  
  <p>How should I go about doing this properly?</p>