Try this:
1) in the comboBoxAdmin1_SelectedIndexChanged handler check to make sure the user has not chosen the current data source.
2) try this
dataGridView1.SuspendLayout();
dataGridView1.DataSource = null;
dataGridView1.AutoGenerateColumns = true;
dataGridView1.Columns.Clear();
// your switch statement
dataGridView1.DataSource = user selected source
// end your switch statement
dataGridView1.ResumeLayout();
datagridView1.Refresh();
3) consider using a BindingSource: [
^]
4) or using a BindingList: [
^]