//Изменение объекта private void TSEdit_Click(object sender, EventArgs e) { //Создание диалогового окна для поиска и изменения товара using (InputForm taskForm = new InputForm("Изменение товара", "Введите код изменяемого товара:")) { taskForm.ShowDialog(); if (!taskForm.isCancel) { int CodeNum; if (!Int32.TryParse(taskForm.Info, out CodeNum)) { MessageBox.Show("Вы ввели некорректный код!", "Ошибка"); } //Поиск товара с заданным кодом else if (ProdList.Exists(x => x.Code == CodeNum)) { //Поиск индекса товара с заданным кодом int prodNum = ProdList.FindIndex(x => x.Code == CodeNum); using (TaskForm editForm = new TaskForm(ProdList[prodNum])) { editForm.Edit(); //Если товара с таким кодом не существует или код не менялся (изменение без кода) if (!ProdList.Exists(x => x.Code == editForm.Prod.Code) || editForm.Prod.Code == prodNum) { ProdList[prodNum] = editForm.Prod; ProdList.ProductListToDGV(dgvFile); } else { MessageBox.Show("Товар с таким кодом уже есть в списке!"); } } } else { MessageBox.Show("Товар с данным кодом не был найден!", "Ошибка"); } } } }
//Изменение товара при двойном клике на строку private void DgvFile_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } using (TaskForm editForm = new TaskForm(ProdList[Convert.ToInt32(dgvFile.Rows[e.RowIndex].HeaderCell.Value) - 1])) { editForm.Edit(); if (!editForm.IsCancel) { if (!ProdList.Exists(x => x.Code == editForm.Prod.Code) || editForm.Prod.Code == ProdList[Convert.ToInt32(dgvFile.Rows[e.RowIndex].HeaderCell.Value) - 1].Code) { ProdList[e.RowIndex] = editForm.Prod; ProdList.ProductListToDGV(dgvFile); } else { MessageBox.Show("Товар с таким кодом уже есть в списке!"); } } } }