diff --git a/PROMS/Volian.Controls.Library/GridItem.cs b/PROMS/Volian.Controls.Library/GridItem.cs index 868b22a2..2675d188 100644 --- a/PROMS/Volian.Controls.Library/GridItem.cs +++ b/PROMS/Volian.Controls.Library/GridItem.cs @@ -760,8 +760,15 @@ namespace Volian.Controls.Library MyFlexGrid.Focus(); if (!MyFlexGrid.IsRoTable) // Table ROs are none editable - don't select a table cell { - MyFlexGrid.Select(0, 0); - MyFlexGrid.FirstEntry = true; // to fix a problem with initial mouse click into table + try + { + MyFlexGrid.Select(0, 0); + MyFlexGrid.FirstEntry = true; // to fix a problem with initial mouse click into table + } + catch (Exception ex) + { + MessageBox.Show("The content of this table is corrupted. You will either need to restore a previous version or delete it.", "Table Corrupted", MessageBoxButtons.OK, MessageBoxIcon.Information); + } } } else diff --git a/PROMS/Volian.Controls.Library/VlnFlexGrid.cs b/PROMS/Volian.Controls.Library/VlnFlexGrid.cs index fb58e966..8730c792 100644 --- a/PROMS/Volian.Controls.Library/VlnFlexGrid.cs +++ b/PROMS/Volian.Controls.Library/VlnFlexGrid.cs @@ -58,7 +58,8 @@ namespace Volian.Controls.Library public partial class VlnFlexGrid : C1.Win.C1FlexGrid.C1FlexGrid { - private bool _Disposed = false; + private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + private bool _Disposed = false; private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; @@ -893,11 +894,18 @@ namespace Volian.Controls.Library Visible = false; if (Parent is GridItem) { - System.Drawing.Image img = this.CreateImage(); - using (Graphics gr = (Parent as GridItem).CreateGraphics()) - { - gr.DrawImage(img, Left, Top); - } + try + { + System.Drawing.Image img = this.CreateImage(); + using (Graphics gr = (Parent as GridItem).CreateGraphics()) + { + gr.DrawImage(img, Left, Top); + } + } + catch (Exception ex) + { + _MyLog.WarnFormat("Table Content Corrupted"); + } } Clear(); MergedRanges.Clear();