Преобразование единиц в списке с помощью переключателя c # - PullRequest
0 голосов
/ 28 ноября 2018

Проблема состоит в том, чтобы преобразовать сводные данные списка в имперские и метрические единицы после того, как были выбраны переключатели для имперских и метрических единиц, данные извлекаются из сетки данных внизу.

ЗдесьФорма для справочного изображения:

Form for reference

Код для сводных данных:

// fetching all speed column data into array
double[] columnDataOfSpeed = (from DataGridViewRow row in DataTrue.Rows where row.Cells["speeds"].FormattedValue.ToString() != string.Empty select Convert.ToDouble(row.Cells["speeds"].FormattedValue)).ToArray();
// fetching all heart rate column data into array
double[] columnDataOfheartRate = (from DataGridViewRow row in DataTrue.Rows where row.Cells["heart_rate"].FormattedValue.ToString() != string.Empty select Convert.ToDouble(row.Cells["heart_rate"].FormattedValue)).ToArray();
// fetching all power column data into array
double[] columnDataOfPower = (from DataGridViewRow row in DataTrue.Rows where row.Cells["Power_watt"].FormattedValue.ToString() != string.Empty select Convert.ToDouble(row.Cells["Power_watt"].FormattedValue)).ToArray();
// fetching all altitude column data into array
double[] columnDataOfAltitude = (from DataGridViewRow row in DataTrue.Rows where row.Cells["altitudes"].FormattedValue.ToString() != string.Empty select Convert.ToDouble(row.Cells["altitudes"].FormattedValue)).ToArray();

//For Speed
lbl_Max_Speed.Text = "Maximum Speed: " + columnDataOfSpeed.Max().ToString() + " " + "km/hr"; //displaying the maximum speed by calculating from datagridview
lbl_Min_Speed.Text = "Minimum Speed: " + columnDataOfSpeed.Min().ToString() + " " + "km/hr"; //displaying the minimum speed by calculating from datagridview

double averageSpeed = columnDataOfSpeed.Average();
lbl_Avg_Speed.Text = "Average Speed: " + Math.Round(averageSpeed, 3).ToString() + " " + "km/hr"; //displaying the average speed by calculating from datagridview

//For Heart Rate
lbl_Max_Heart.Text = "Maximum Heart Rate: " + columnDataOfheartRate.Max().ToString() + " " + "bpm"; //displaying the maximum heart rate by calculating from datagridview
lbl_Min_Heart.Text = "Minimum Heart Rate: " + columnDataOfheartRate.Min().ToString() + " " + "bpm"; //displaying the minimum heart rate by calculating from datagridview

double averageHeart = columnDataOfheartRate.Average();
lbl_Avg_Heart.Text = "Average Heart Rate: " + Math.Round(averageHeart, 3).ToString() + " " + "bpm"; //displaying the Average heart rate by calculating from datagridview

//For Power
lbl_Max_Power.Text = "Maximum Power: " + columnDataOfPower.Max().ToString() + " " + "watts"; //displaying the maximum power by calculating from datagridview
lbl_Min_Power.Text = "Minimum Power: " + columnDataOfPower.Min().ToString() + " " + "watts"; //displaying the minimum power by calculating from datagridview

double averagePower = columnDataOfPower.Average();
lbl_Avg_Power.Text = "Average Power: " + Math.Round(averagePower).ToString() + " " + "watt"; //displaying the Average power by calculating from datagridview

//For Altitude
lbl_Max_Altitude.Text = "Maximum Altitude: " + columnDataOfAltitude.Max().ToString() + " " + "meter"; //displaying the maximum altitude by calculating from datagridview
lbl_Min_Altitude.Text = "Minimum Altitude: " + columnDataOfAltitude.Min().ToString() + " " + "meter"; //displaying the minimum altitude by calculating from datagridview

double averageAltitude = columnDataOfAltitude.Average();
lbl_Avg_Altitude.Text = "Average Altitude: " + Math.Round(averageAltitude, 3).ToString() + " " + "meter"; //displaying the minimum altitude by calculating from datagridview
...