// Обрабатываем нажатие кнопки 'X' в гриде private void dgvMain_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex != 0) { return; } SkladBase.DeleteProdFromPrice(Int32.Parse(currentCode)); SkladBase.DeleteProdFromProductTable(Int32.Parse(currentCode)); dgvMain.Rows.Remove(dgvMain.CurrentRow); if (dgvMain.RowCount > 0) { dgvMain.CurrentRow.Selected = true; } }
private void DeleteProdFromPrice(int code, int quant, decimal dc, decimal pc, bool discont, int rowIndex) { SkladBase.DeleteProdFromPrice(code, quant, dc, pc, discont); dgvDetails.Rows.RemoveAt(rowIndex); //удаляем строку из грид Detail // Корректируем кол-во в основном гриде if (dgvDetails.Rows.Count > 0) { dgvMain.SelectedRows[0].Cells["Quantity"].Value = (int)dgvMain.SelectedRows[0].Cells["Quantity"].Value - quant; } else { SkladBase.DeleteProdFromProductTable(code); // удаляем продукт из табл Product dgvMain.Rows.Remove(dgvMain.CurrentRow); if (dgvMain.RowCount > 0) { dgvMain.CurrentRow.Selected = true; } } }