در یک متد با استفاده از حلقه رنگ سلول مورد نظر رو تغییر بدید. در رویداد SelectedIndexChanged کمبوباکس بر حسب مقدار انتخابی از کمبوباکس متد رو فراخوانی کنید.
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Color col = Color.Empty;
string noeEstekhdam = null;
switch (comboBox1.SelectedItem.ToString())
{
case "دائمی":
col = Color.GreenYellow;
noeEstekhdam = "daem";
break;
case "قراردادی":
col = Color.YellowGreen;
noeEstekhdam = "garardadi";
break;
case "روزمزدی":
col = Color.Orange;
noeEstekhdam = "roozmozd";
break;
}
this.dataGridView1.ClearSelection();
this.PaintRows(col, noeEstekhdam);
}
private void PaintRows( Color backColor , string noeEstekhdam)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells["estekhdam"].Value.ToString() == noeEstekhdam)
{
row.DefaultCellStyle.BackColor = backColor;
}
else
{
row.DefaultCellStyle.BackColor = Color.WhiteSmoke;
}
}
}