Hocam ne yaptığınızı bilmiyorum ama şöyle bir mantık izlediğinizde olmuyor mu; Checkbox.Checked true ya da false olduğunda döngülerini checkbox altına if komutlarını yazın
Misal if(Checkbox.Checked ==false){
Datagrid.Visible =false;
}
else
{diğer komutlarınız}

Buna benzer bir mantık ile kurmayı dneyin hocam. Daha tecrübeli arkadaşlar size daha iyi yol gösterebilir.