// Двойное нажатие на грид с назначениями - инфо карточка назначения private void dataGridView4_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex != 8) // Просмотр назначения { if (e.RowIndex > -1) { if (dataGridView4.RowCount - 1 >= e.RowIndex) { int l = e.RowIndex; // Находим индекс строки, где был клик int k = Convert.ToInt32(dataGridView4.Rows[l].Cells[0].Value); // Выдергивание id назначения из строки InfoForm.Info_Prescription f = new InfoForm.Info_Prescription(OperationsOfPrescriptionsOfDrugs.FindByID(k)); // Вызов конструктора формы с данными строки(назначения) на которую мы кликнули f.ShowDialog(); } } } else // Удаление назначения { if (e.RowIndex > -1) { if (dataGridView4.RowCount - 1 >= e.RowIndex) { // Находим индекс строки, где был клик int l = e.RowIndex; const string message = "Хотите удалить назначение лекарства?"; const string caption = "Удаление"; var result = MessageBox.Show(message, caption, MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == DialogResult.OK) { // Выдергивание id назначения из строки int k = Convert.ToInt32(dataGridView4.Rows[l].Cells[0].Value); // Удаление этой строки из грида dataGridView4.Rows.Remove(dataGridView4.Rows[l]); // Удаление назначения с найденным id из БД OperationsOfPrescriptionsOfDrugs.Del(k); OperationsOfDispensingDrugs.HideDispensing_Prescription(k); PrescriptionGrid(); } } else { MessageBox.Show("Эту строку нельзя удалить, в ней нет данных."); } } } }
// Конструктор для формы просмотра/редактировния назначения лекарства public Choice_Drug(InfoForm.Info_Prescription p) { ps = p; InitializeComponent(); }