private void DeleteRecord(Object sender, EventArgs e)
 {
     if (TDeleteGridRows.DeleteRows(this, grdDetails, FPetraUtilsObject, this))
     {
         // We did actually delete one or more rows so we need to fix up the display order again
         FixDisplayIndexValues();
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Performs checks to determine whether a deletion of the current row is permissable
 /// </summary>
 /// <param name="ARowToDelete">the currently selected row to be deleted</param>
 /// <param name="ADeletionQuestion">can be changed to a context-sensitive deletion confirmation question</param>
 /// <returns>true if user is permitted and able to delete the current row</returns>
 private bool PreDeleteManual(PContactAttributeDetailRow ARowToDelete, ref string ADeletionQuestion)
 {
     // If the last Row in the Grid is to be deleted: check if there are added 'Detail' Rows in *other* 'Master' Rows,
     // and if any of those 'Master' Rows was added too, tell the user that data needs to be saved first before deletion
     // of the present 'Detail' Row can go ahead.
     // The reason for that is that the deletion of that last 'Detail' Row will cause the OnNoMoreDetailRecords Event to
     // be raised by the UserControl, which in turn will cause the Form to call the 'SaveChanges' Method of the
     // UserControl before the Form saves its own data. While this in itself is OK, saving in the 'SaveChanges' Method
     // of the UserControl would fail as a 'Master' Row itself was newly added AND it wouldn't be in the DB yet!
     return(TDeleteGridRows.MasterDetailFormsSpecialPreDeleteCheck(this.Count,
                                                                   FContactAttributeDT, FMainDS.PContactAttributeDetail,
                                                                   PContactAttributeTable.GetContactAttributeCodeDBName(), PContactAttributeDetailTable.GetContactAttrDetailCodeDBName()));
 }