Advertisement
Guest User

Untitled

a guest
Dec 19th, 2014
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. var functionDistinct = msaData.Select(x => new { x.Step, x.LogID }).Distinct().ToList().OrderBy(x => x.Step).ThenBy(x => x.LogID);
  2.  
  3. msaDataTable.Columns.Add("Time");
  4. msaDataTable.Columns.Add("DUT");
  5. msaDataTable.Columns.Add("Position");
  6.  
  7. //Add columns to datatable corresponding to each function. The number of columns is only known at runtime.
  8. foreach (var item in functionDistinct)
  9. {
  10. var column = new DataColumn() { DataType = typeof(double), ColumnName = String.Format("{0}-{1}", item.Step, item.LogID), AllowDBNull = true };
  11.  
  12. msaDataTable.Columns.Add(column);
  13. }
  14.  
  15. var distinctHeaderID = msaData.Select(x => x.HeaderID).Distinct();
  16.  
  17. foreach (var headerID in distinctHeaderID)
  18. {
  19. ct.ThrowIfCancellationRequested();
  20.  
  21. //Fetch the data for the current headerID
  22. var headerIDData = msaData.Where(x => x.HeaderID == headerID).Select(x => new { x.StartTime, x.DUT_id, x.printID, x.Step, x.LogID, x.Meas }).ToList();
  23.  
  24. if (headerIDData != null)
  25. {
  26. DataRow row = msaDataTable.NewRow();
  27.  
  28. row["Time"] = headerIDData.FirstOrDefault().StartTime;
  29. row["DUT"] = headerIDData.FirstOrDefault().DUT_id;
  30. row["Position"] = headerIDData.FirstOrDefault().printID;
  31.  
  32. //Run through the data for the current headerID and assign the values to the right function.
  33. foreach (var data in headerIDData)
  34. {
  35. string function = String.Format("{0}-{1}", data.Step, data.LogID);
  36. row[function] = data.Meas;
  37. }
  38.  
  39. msaDataTable.Rows.Add(row);
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement