cの条件どおりのDataGridViewに変換されていません。値がすべてのセルの最高値であれば、cell.value = "H" restは中程度でなければなりません。これは私がこれまでにやっていることです:値は、私はcell.valueは、セルが低い「L」を、含まなければならないすべての値の最小値である場合、条件に応じてDataGridViewの列の値を変更したい#
//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