Я помогу вам в этом, так как вы не спрашиваете об использовании LINQ.
Давайте сделаем это "обычным" способом ..
Сначала объявите новый List
List<int> columnValue = new List<int>();
Итерируем по каждой строке в сетке
foreach (DataGridViewRow row in myDataGrid.Rows)
{
if (null != row && null != row.Cells["col1"].Value)
{
//Add the value of columnValue to list
columnValue.Add(Convert.ToInt32(row.Cells[0].Value.ToString()));
}
}
и получите МИН. значение из LIST
int result = columnValue.Min();
наконец, получите индекс значения, которое мы получили из LIST
int i = columnValue.IndexOf(result); //returns the Index from "result" var