У меня есть DataGridView, как показано ниже:Как изменить цвет ячейки DataGridView на основе значения Combobox?
Я хотел бы:
Когда форма нагрузки, если значение
Gender
столбца является мужчина, соответствующий цвет ячейки столбцаName
будет be WhiteЕсли при изменении значения колонки
Gender
: Мужской → Женский, цветная ячейка столбецName
будет DarkGray, в противном случае, если изменения значения столбцаGender
: Женский → Мужской, цвет ячейки столбцаName
будет White
Я попробовал это, но я не в состоянии сделать это:
private void dataGridView_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
DataGridView dgv = sender as DataGridView;
DataGridViewCell cell = dgv.CurrentCell;
if (dgv.Rows[cell.RowIndex].Cells["Gender"].Value.ToString().Trim() == "Male")
{
// Male
dgv.Rows[cell.RowIndex].DefaultCellStyle.BackColor = Color.White;
}
else
{
// Female
dgv.Rows[cell.RowIndex].DefaultCellStyle.BackColor = Color.DarkGray;
}
}
ИЛИ:
private void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
DataGridView dgv = sender as DataGridView;
if (dgv.Columns[e.ColumnIndex].Name.Equals("Gender"))
{
if (e.Value != null && e.Value.ToString().Trim() == "Male")
{
e.CellStyle.BackColor = Color.White;
}
else
{
e.CellStyle.BackColor = Color.DarkGray;
}
}
//if (dgv.Rows[e.RowIndex].Cells["Gender"].Value.ToString().Trim() == "Male")
//{
// e.CellStyle.BackColor = Color.White;
//}
//else
//{
// e.CellStyle.BackColor = Color.DarkGray;
//}
}
Любые советы на них будет большим подспорьем. Заранее спасибо.
Посмотрите на [Событие CellFormatting] (https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellformatting (v = vs.110) .aspx). Пример может помочь вам сделать то, что вы хотите – Pikoh
[This] (http://stackoverflow.com/questions/39540935/for-a-windows-forms-application-using-datagridview-how-can-i-check-a-value -in/39541363 # 39541363) может быть полезно. – Berkay
Благодарим вас за ответ. Я не использую 'DataTable', который использовал DataGridViewRow' для отображения данных, а затем как? Извините, что я новичок C# – MinhKiyo