Если сетка данных связана с данными, вы должны сделать:
dataGridView.DataSource = null;
dataGridView.DataSource.Clear();
Если сетка данных является несвязанными данными, нет необходимости обнулять источник данных:
dataGridView.DataSource.Clear();
Еще одна хитрость:
dt.Columns.Clear();
dt.Rows.Clear();
dataGridView.DataSource = dt;