Ένας τρόπος είναι να περάσεις ως παραμέτρους στην άλλη φόρμα τα Values του DataGridView.
Ο άλλος είναι να περάσεις το id μόνο και να κάνεις select μέσα στην άλλη φόρμα ώστε να πάρεις τα data. Παρακάτω φαίνονται αυτοί οι τρόποι:
1ος
// Στη main form όπου υπάρχει το dataGridView
using (form2 f = new form2(dataGridView1["columnName1", rowIndex].Value.ToString(), dataGridView1["columnName2", rowIndex].Value.ToString()))
{
f.ShowDialog();
}
//Στo costructor της form2
public form2(string field1, string field2)
{
// ας υποθέσουμε ότι περνάς τις τιμές σε textboxes
textBox1.Text = field1;
textBox2.Text = field2;
}
2ος
// Στη main form όπου υπάρχει το dataGridView
using (form2 f = new form2(Convert.ToInt32(dataGridView1["columnId", rowIndex].Value)))
{
f.ShowDialog();
}
//Στo costructor της form2
public form2(int idField)
{
// select από τη βάση - where id = idField
// και,
// παίρνεις με κάποιο List (ArrayList, List<T>) τις τιμές από τα field που θέλεις
}