나는 아래와 같은 DataGridView에 있습니다Combobox 값을 기준으로 DataGridView 셀 색을 변경하는 방법?
내가 좋아하는 것 : 양식 부하 Gender
열의 값이 남성 인 경우
때, 열
Name
의 해당 색상 셀 것 be 흰색열의 값을 변경하는 경우
Gender
: 남성 → 여성, 열Name
이 DarkGray, 될 것이다, 그렇지 않으면 경우 변경 열 값Gender
: 여성 → 남성, 열Name
의 색상 셀이 나는 그것을 시도하지만 난 그것을 할 수 아니다
화이트 될 것입니다 :
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;
}
}
OR : 다음에
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
답장을 보내 주셔서 감사합니다. DataGridViewRow를 사용하여 데이터를 표시하는 DataTable을 사용하지 않는다면 어떻게됩니까? 미안 해요 초보자 C# – MinhKiyo