private void gridView1_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
{
if (m_issixteenbit)
{
if (m_viewtype == ViewType.Hexadecimal)
{
try
{
int value = Convert.ToInt32(Convert.ToString(e.Value), 16);
if (value > 0xFFFF)
{
e.Valid = false;
e.ErrorText = "Value not valid...";
}
}
catch (Exception hE)
{
e.Valid = false;
e.ErrorText = hE.Message;
}
/*value = 0xFFFF;
e.Value = value.ToString("X4");*/
}
else
{
double dvalue = Convert.ToDouble(e.Value);
int value = 0;
if (m_viewtype == ViewType.Easy)
{
if (gridView1.ActiveEditor != null)
{
if (gridView1.ActiveEditor.EditValue.ToString() != gridView1.ActiveEditor.OldEditValue.ToString())
{
Console.WriteLine(gridView1.ActiveEditor.IsModified.ToString());
dvalue = Convert.ToDouble(gridView1.ActiveEditor.EditValue);
value = Convert.ToInt32((dvalue - correction_offset) / correction_factor);
/* if(value < 0)
{
value ^= 0xffffff;
value = -value;
}*/
}
else
{
value = Convert.ToInt32(Convert.ToString(e.Value));
}
}
else
{
value = Convert.ToInt32(Convert.ToString(e.Value));
}
}
else
{
value = Convert.ToInt32(Convert.ToString(e.Value));
}
if (Math.Abs(value) > 78643)
{
e.Valid = false;
e.ErrorText = "Value not valid...";
}
else
{
e.Value = value;
}
}
}
else
{
if (m_viewtype == ViewType.Hexadecimal)
{
try
{
int value = Convert.ToInt32(Convert.ToString(e.Value), 16);
if (value > 0xFF)
{
e.Valid = false;
e.ErrorText = "Value not valid...";
}
}
catch(Exception hE)
{
e.Valid = false;
e.ErrorText = hE.Message;
}
}
else
{
double dvalue = Convert.ToDouble(e.Value);
int value = 0;
if (m_viewtype == ViewType.Easy)
{
if (gridView1.ActiveEditor != null)
{
if (gridView1.ActiveEditor.EditValue.ToString() != gridView1.ActiveEditor.OldEditValue.ToString())
{
Console.WriteLine(gridView1.ActiveEditor.IsModified.ToString());
dvalue = Convert.ToDouble(gridView1.ActiveEditor.EditValue);
value = Convert.ToInt32((dvalue - correction_offset) / correction_factor);
}
else
{
value = Convert.ToInt32(Convert.ToString(e.Value));
}
}
else
{
value = Convert.ToInt32(Convert.ToString(e.Value));
}
}
else
{
value = Convert.ToInt32(Convert.ToString(e.Value));
}
if (value > 255)
{
e.Valid = false;
e.ErrorText = "Value not valid...";
}
else
{
e.Value = value;
}
}
}
}