PC&웹/VS프로그래밍
C# DevExpress Grid 행 색상 지정
Simulz™
2023. 5. 1. 23:40
반응형
MMEX의 거래 테이블에서 색상 지정된 레코드는 행의 배경을 색으로 보여준다.
이렇게 보여주는 것을 C# DevExpress Grid에서 따라해보자.
GridView 에서 RowStyle 이벤트를 사용한다.
private void gridView1_RowStyle(object sender, RowStyleEventArgs e)
{
GridView view = sender as GridView;
if(e.RowHandle >= 0)
{
int followUpID = view.GetRowCellDisplayText(e.RowHandle, view.Columns["FOLLOWUPID"]).ToInt();
Color userColor = followUpID switch
{
1 => Color.FromArgb(246, 144, 144),
2 => Color.FromArgb(229, 196, 146),
3 => Color.FromArgb(245, 237, 149),
4 => Color.FromArgb(186, 226, 185),
5 => Color.FromArgb(135, 190, 219),
6 => Color.FromArgb(172, 167, 239),
7 => Color.FromArgb(212, 138, 215),
_ => Color.Transparent,
};
e.Appearance.BackColor = userColor;
}
}
끝.
sender는 GridView를 나타내고, e는 행의 스타일을 나타낸다.
행이 있을 때만 적용해야 하므로, if(e.RowHandle >= 0) 조건 추가
레코드의 특정 필드의 값에 따라 색을 지정해야 하므로 GridView의 GetRowCellDisplayText() 또는 GetRowCellValue() 메서드를 사용해서 매 행의 특정 필드의 값을 가져온다.
MMEX의 색상 필드 값은 숫자형을 사용하므로 Convert.ToInt32()를 사용하고, switch 문법을 사용해서 숫자별로 Color를 지정하면 된다. 기본값은 투명.
반응형