Как скрывать и отображать любой столбец, независимо от первого столбца?
Есть datagridview с созданными вручную столбцами. (с программным добавлением сто тоже самое)
При загрузке формы происходит sql запрос в базу MS Access и последующее добавление в datagridview. С этим все хорошо, тут вопросов нет.
Хочу чтоб во время пользования программы, можно было просто скрывать некоторые столбцы в datagridview посредством checkbox.
Проблема в том, что нельзя просто взять и скрыть, например, 3 столбец, при этом, не трогая первый столбец.
Для этого нужно сначала скрыть самый первый столбец и после этого уже можно скрывать остальные. Точно также и с обратным их отображением.
как сделать так, чтобы можно было скрывать и отображать любой столбец, независимо первого столбца?
sql запрос
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Tutors.mdb";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
string query = "SELECT Факультет.[Название факультета], Группа.[Номер группы],
Тьюторы.ФИО, Тьюторы.Факультет, Тьюторы.Группа, Тьюторы.Курс, Тьюторы.[Номер телефона]"
+"FROM(Факультет INNER JOIN Группа ON Факультет.[ID Факультета] = Группа.[ID факультета])
INNER JOIN Тьюторы ON Группа.[ID группы] = Тьюторы.[ID Группы первокурсников]";
OleDbCommand oleDbCommand = new OleDbCommand(query, connection);
OleDbDataReader reader = oleDbCommand.ExecuteReader();
if (reader.HasRows == false)
{
MessageBox.Show("Данные не найдены!", "Ошибка");
Close();
}
else
{
while (reader.Read())
{
dataGridView1.Rows.Add(reader["Название факультета"], reader["Номер группы"],
reader["ФИО"], reader["Факультет"], reader["Группа"], reader["Курс"],
reader["Номер телефона"]);
}
}
reader.Close();
connection.Close();
обработчики событий checkBox'ов
private void checkBoxFacultyFresman_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxFacultyFresman.Checked == true) { dataGridView1.Columns[0].Visible = true; }
else dataGridView1.Columns[0].Visible = false;
}
private void checkBoxGroupFreshman_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxFacultyFresman.Checked == true) { dataGridView1.Columns[1].Visible = true; }
else dataGridView1.Columns[1].Visible = false;
}
private void checkBoxNameTutor_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxFacultyFresman.Checked == true) { dataGridView1.Columns[2].Visible = true; }
else dataGridView1.Columns[2].Visible = false;
}
private void checkBoxFacultyTutor_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxFacultyFresman.Checked == true) { dataGridView1.Columns[3].Visible = true; }
else dataGridView1.Columns[3].Visible = false;
}
private void checkBoxGroupFaculty_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxFacultyFresman.Checked == true) { dataGridView1.Columns[4].Visible = true; }
else dataGridView1.Columns[4].Visible = false;
}
private void checkBoxCourseTutor_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxFacultyFresman.Checked == true) { dataGridView1.Columns[5].Visible = true; }
else dataGridView1.Columns[5].Visible = false;
}
private void checkBoxNamberTel_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxFacultyFresman.Checked == true) { dataGridView1.Columns[6].Visible = true; }
else dataGridView1.Columns[6].Visible = false;
}


