Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var functionDistinct = msaData.Select(x => new { x.Step, x.LogID }).Distinct().ToList().OrderBy(x => x.Step).ThenBy(x => x.LogID);
- msaDataTable.Columns.Add("Time");
- msaDataTable.Columns.Add("DUT");
- msaDataTable.Columns.Add("Position");
- //Add columns to datatable corresponding to each function. The number of columns is only known at runtime.
- foreach (var item in functionDistinct)
- {
- var column = new DataColumn() { DataType = typeof(double), ColumnName = String.Format("{0}-{1}", item.Step, item.LogID), AllowDBNull = true };
- msaDataTable.Columns.Add(column);
- }
- var distinctHeaderID = msaData.Select(x => x.HeaderID).Distinct();
- foreach (var headerID in distinctHeaderID)
- {
- ct.ThrowIfCancellationRequested();
- //Fetch the data for the current headerID
- 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();
- if (headerIDData != null)
- {
- DataRow row = msaDataTable.NewRow();
- row["Time"] = headerIDData.FirstOrDefault().StartTime;
- row["DUT"] = headerIDData.FirstOrDefault().DUT_id;
- row["Position"] = headerIDData.FirstOrDefault().printID;
- //Run through the data for the current headerID and assign the values to the right function.
- foreach (var data in headerIDData)
- {
- string function = String.Format("{0}-{1}", data.Step, data.LogID);
- row[function] = data.Meas;
- }
- msaDataTable.Rows.Add(row);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement