private void atCurrentlySelectedLocationToolStripMenuItem_Click(object sender, EventArgs e)
{
// Clipboard.ContainsData("System.Object");
DevExpress.XtraGrid.Views.Base.GridCell[] cellcollection = gridView1.GetSelectedCells();
if (cellcollection.Length >= 1)
{
try
{
int rowhandlefrom = cellcollection[0].RowHandle;
int colindexfrom = cellcollection[0].Column.AbsoluteIndex;
int originalrowoffset = -1;
int originalcolumnoffset = -1;
if (Clipboard.ContainsText())
{
string serialized = Clipboard.GetText();
// Console.WriteLine(serialized);
int viewtypeinclipboard = Convert.ToInt32(serialized.Substring(0, 1));
ViewType vtclip = (ViewType)viewtypeinclipboard;
serialized = serialized.Substring(1);
char[] sep = new char[1];
sep.SetValue('~', 0);
string[] cells = serialized.Split(sep);
foreach (string cell in cells)
{
char[] sep2 = new char[1];
sep2.SetValue(':', 0);
string[] vals = cell.Split(sep2);
if (vals.Length >= 3)
{
int rowhandle = Convert.ToInt32(vals.GetValue(1));
int colindex = Convert.ToInt32(vals.GetValue(0));
int ivalue = 0;
double dvalue = 0;
if (vtclip == ViewType.Hexadecimal)
{
ivalue = Convert.ToInt32(vals.GetValue(2).ToString());
dvalue = ivalue;
}
else if (vtclip == ViewType.Decimal)
{
ivalue = Convert.ToInt32(vals.GetValue(2));
dvalue = ivalue;
}
else if (vtclip == ViewType.Easy )
{
dvalue = Convert.ToDouble(vals.GetValue(2));
}
if (originalrowoffset == -1) originalrowoffset = rowhandle;
if (originalcolumnoffset == -1) originalcolumnoffset = colindex;
if (rowhandle >= 0 && colindex >= 0)
{
try
{
if (vtclip == ViewType.Hexadecimal)
{
//gridView1.SetRowCellValue(rowhandle, gridView1.Columns[colindex], ivalue.ToString("X"));
gridView1.SetRowCellValue(rowhandlefrom + (rowhandle - originalrowoffset), gridView1.Columns[colindexfrom + (colindex - originalcolumnoffset)], ivalue.ToString("X"));
}
else
{
gridView1.SetRowCellValue(rowhandlefrom + (rowhandle - originalrowoffset), gridView1.Columns[colindexfrom + (colindex - originalcolumnoffset)], dvalue);
}
}
catch (Exception E)
{
Console.WriteLine(E.Message);
}
}
}
}
}
}
catch (Exception pasteE)
{
Console.WriteLine(pasteE.Message);
}
}
}