title: Parallel.ForEach and DataGridViewRow
body: <p>I'm having an issue converting .<code>AsParallel</code> to the <code>Parallel.ForEach</code>.
  I have a <code>DataGridView</code> and i'm putting some values in the first column of it after that with <code>ForEach</code> loop i'm sending the value to method and getting a return value then i'm putting the return value to second column.</p>
  
  <p>At the beginning; i was using <code>ForEach</code> loop but it takes too much time, then i decided to use .<code>AsParallel</code> but i think, in my situation, it might be better to use <code>Parallel.ForEach</code> but i couldn't make it work with <code>datagridviewrow</code>.</p>
  
  <p>ForEach Method :</p>
  
  <pre><code> foreach (DataGridViewRow dgvRow in dataGrid1.Rows)
   {
       // SOME CODES REMOVED FOR CLARITY
       string data1 = row.Cells[1].Value;
       var returnData = getHtml(data1);
       row.Cells[2].Value = returnData;
   }
  </code></pre>
  
  <p>AsParallel Method :</p>
  
  <pre><code>dataGrid1.Rows.Cast&lt;DataGridViewRow&gt;().AsParallel().ForAll(row =&gt;
  {
      // SOME CODES REMOVED FOR CLARITY
      string data1 = row.Cells[1].Value;
      var returnData = getHtml(data1);
      row.Cells[2].Value = returnData;
  }); 
  </code></pre>
  
  <p>So, how can i use <code>Parallel.ForEach</code> loop with <code>DataGridViewRow</code> (DataGridView) ?</p>
  
  <p>Thanks.</p>