title: Intermittent "index = -1" when getting rows from DataGridView
body: <p>When doing this:</p>
  
  <pre><code>        foreach (DataGridView currentGridView in tabControl.SelectedTab.Controls.OfType&lt;DataGridView&gt;())
          {
  
              rows = new DataGridViewRow[currentGridView.RowCount];        
              currentGridView.Rows.CopyTo(rows, 0);
              page = 0;
  
              printDocDetail.DocumentName = "Contact List Detailed";
              printDocDetail.Print();
  
          }
  </code></pre>
  
  <p>I often get this result:</p>
  
  <p><a href="https://i.stack.imgur.com/1jMd1.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1jMd1.png" alt="result"></a></p>
  
  <p>And that depends on the run. For the same DataGridView data, one run will return the data correctly, the next will return all index=-1 except for the first one. </p>
  
  <p>What is causing this?</p>
  
  <p>P.S. Using DataGridViewRowCollection or a simple array results to the same thing.</p>