hocam öncelikle RowDataBound değil de DataBound event'ını kullanmanı tavsiye ederim. çünkü bu kod 100 satırlık bir tabloda header/footer/pager derken 100'den fazla çalışır ve verimsiz bir kod olur. eğer tek parça bir header kullanıyorsanız bu hatayı almanıza o da neden olmuş olabilir. Ertan'ın da söylediği gibi olmayan bir kolonu gizlemeye çalışıyorsunuz. eğer amacınız her zaman 2. kolonu gizlemekse bir önceki satıra şu kodu eklemek datasource ya da gridview boş olsa bile hata almanızı engelleyecektir.

if ( GridView1.Columns.Count>1 )