Я хочу изменить значение столбца datagridview в соответствии с условием, если значение cell.value является минимальным из всех значений, которое ячейка должна содержать «L», что является низким. Если значение самое высокое из всех значений cell.value = "H" должно быть средним. Это то, что я сделал до сих пор:значения не преобразуются в datagridview в соответствии с условием C#
//Function to display interaction as High, Medium and Low
public void ShowInteraction(DataGridView dv, string columnName)
{
//MAX
var Max = dv.Rows.Cast<DataGridViewRow>()
.Max(r => Convert.ToDouble(r.Cells[columnName].Value));
//MIN
List<double> arr = new List<double>();
foreach (DataGridViewRow row in dv.Rows)
{
if (row != null && row.Cells[columnName].Value != null)
{
arr.Add(Convert.ToDouble(row.Cells[columnName].Value.ToString()));
}
}
double Min = arr.Min();
//show interaction in datagridview as H, M nad L
foreach (DataGridViewRow row in dv.Rows)
{
if (row.Cells[columnName].Value != null)
{
if ((double)row.Cells[columnName].Value == Min)
{
row.Cells[columnName].Value = Convert.ToString("L");
}
else if ((double)row.Cells[columnName].Value == Max)
{
row.Cells[columnName].Value = Convert.ToString("H");
}
else if ((double)row.Cells[columnName].Value < Max && (double)row.Cells[columnName].Value > Min)
{
row.Cells[columnName].Value = Convert.ToString("M");
}
else if ((double)row.Cells[columnName].Value == 0.0000)
{
row.Cells[columnName].Value = Convert.ToString("N");
}
else
{
row.Cells[columnName].Value = Convert.ToString("L");
}
}
}
}
И это результат:
Моя проблема заключается в том, что средние и высокие значения показывают, но иногда это избежать самого низкого значения и не показывайте «L» в некоторых столбцах. Сгенерированные данные представляют собой случайные данные.
Я вижу L в этих других колонках. Возможно, вы не прокрутили до конца. – LarsTech