private void Row_Remove(AbstractPanelGridRow sender) { int row_no = sender.RowNo + grid_.VisibleRowTop; if (0 <= row_no && row_no < grid_.DataCount) { bool removeOk = false; if (ValidateRemoveRow != null) { removeOk = ValidateRemoveRow(sender as Type); } else { var res = System.Windows.Forms.MessageBox.Show(KaikeiSystemBody.Properties.Resources.MsgConfirmToDeleteRow, KaikeiSystemBody.Properties.Resources.CaptionConfirm, System.Windows.Forms.MessageBoxButtons.OKCancel, System.Windows.Forms.MessageBoxIcon.Warning); removeOk = (res == System.Windows.Forms.DialogResult.OK); } if (removeOk) { models.db.Row row = (sender as Type).RowData; if (table_.Delete(row)) { if (RowDeleted != null) { RowDeleted(row); } } else { helper.MsgBox.ShowMsg("DB error", "err"); } } UpdateDataCount(); } }