特定の列に 4 の値を持つ行の背景色に赤を入れようとしていますが、値が 4 を超える行があるにもかかわらず、すべての行の背景色は白です。コードなので、コードが実際にコードを実行して背景色を変更することがわかります。
ここで何が間違っていますか。
dataGridViewMain.DataSource = table;
dataGridViewMain.Sort(dataGridViewMain.Columns["Days in the shop"], ListSortDirection.Descending);
foreach (DataGridViewRow row in this.dataGridViewMain.Rows)
{
if (Convert.ToInt32(row.Cells["Days in the shop"].Value) > 4)
row.DefaultCellStyle.BackColor = Color.Red;
}