// Двойное нажатие на грид с назначениями - инфо карточка назначения
        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("Эту строку нельзя удалить, в ней нет данных.");
                    }
                }
            }
        }
Exemple #2
0
        // Конструктор для формы просмотра/редактировния назначения лекарства
        public Choice_Drug(InfoForm.Info_Prescription p)
        {
            ps = p;

            InitializeComponent();
        }