Probably you did not specify the type of columns. Try something like this:
var table = new DataTable( );
table.Columns.Add( "Col1", typeof( DataParcel<string, string, Record> ) );
table.Columns.Add( "Col2", typeof( DataParcel<string, string, Record> ) );
table.Columns.Add( "Col3", typeof( DataParcel<string, string, Record> ) );
//...
DataParcel<string, string, Record> parcel = (DataParcel<string, string, Record>)table.Rows[e.Rowndex].ItemArray[0];
Specify enough number of columns. If you want to keep the array in a single, first column, then use table.Rows.Add((object)error[i].GetValues()) and make other obvious adjustments. (ItemArray[0] will represent an array).