winforms c# Есть БД sql, есть строки подключения GetConnection(), openConnection(),closeConnection.Нужно в Main_form подключиться к таблице cells_id_db,найти строки,где в столбце gender значение = “f” и “m”.Далее, исходя из этих данных найти столбец id, создать столько button в dataGridView1 по мере размера таблицы слева направо, сколько найдено строк со значением gender f. У button должно быть имя равное значению id. Button должны идти строго по порядку.
Аналогично в dataGridView2, только используй m
Аналогично в dataGridView3, только используй m + f по порядку id.
button должны иметь цвет green, если в этой строке значение “Свободно”
csharp
// Подключение к базе данных
SqlConnection connection = GetConnection();
connection.Open();
// Создание команды SQL для выборки данных
SqlCommand command = new SqlCommand("SELECT * FROM cells_id_db WHERE gender = 'f' OR gender = 'm'", connection);
// Выполнение команды SQL и получение результата
SqlDataReader reader = command.ExecuteReader();
// Создание таблиц для хранения данных
DataTable dataTableF = new DataTable();
DataTable dataTableM = new DataTable();
DataTable dataTableFM = new DataTable();
// Заполнение таблиц данными из результата запроса
dataTableF.Load(reader);
reader.NextResult();
dataTableM.Load(reader);
reader.NextResult();
dataTableFM.Load(reader);
// Закрытие ридера и подключения к базе данных
reader.Close();
connection.Close();
// Задание источников данных для dataGridView1, dataGridView2 и dataGridView3
dataGridView1.DataSource = dataTableF;
dataGridView2.DataSource = dataTableM;
dataGridView3.DataSource = dataTableFM;
// Перебор строк таблиц и создание кнопок в dataGridView1, dataGridView2 и dataGridView3
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string id = row.Cells["id"].Value.ToString();
string status = row.Cells["status"].Value.ToString();
DataGridViewButtonCell buttonCell = new DataGridViewButtonCell();
buttonCell.Value = id;
buttonCell.Style.BackColor = (status == "Свободно") ? Color.Green : Color.White;
row.Cells["id"] = buttonCell;
}
foreach (DataGridViewRow row in dataGridView2.Rows)
{
string id = row.Cells["id"].Value.ToString();
string status = row.Cells["status"].Value.ToString();
DataGridViewButtonCell buttonCell = new DataGridViewButtonCell();
buttonCell.Value = id;
buttonCell.Style.BackColor = (status == "Свободно") ? Color.Green : Color.White;
row.Cells["id"] = buttonCell;
}
foreach (DataGridViewRow row in dataGridView3.Rows)
{
string id = row.Cells["id"].Value.ToString();
string status = row.Cells["status"].Value.ToString();
DataGridViewButtonCell buttonCell = new DataGridViewButtonCell();
buttonCell.Value = id;
buttonCell.Style.BackColor = (status == "Свободно") ? Color.Green : Color.White;
row.Cells["id"] = buttonCell;
}
Этот код осуществляет подключение к базе данных, загрузку данных из таблицы `cells_id_db` в соответствующие `DataTable` и создание кнопок в `dataGridView1`, `dataGridView2` и `dataGridView3` с необходимыми именами и цветом. Также он проверяет значение столбца `status` и задает цвет кнопке в соответствии с этим значением.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет