دیتاگرید شما بایند شده؟
دقیقا همون حالت داخل فرم اصلی رفتار میکنید؟
بله، من دقیقا همین کد:

dataGridView1.DataSource = objdataset;
dataGridView1.DataMember = "authors";
dataGridView1.Columns.Remove("au_lname");

رو وقتی که در فرم اصلی مینویسم درست کار میکنه.