C#/winform

[C#][WinForm][Dev]GridControl/GridView에 특정 행을 색으로 표시하기

ㅋㅋ! 2021. 6. 29. 12:42

**본 글은 DevExpress 컴포넌트를 이용한 경우에만 참고 할 수 있다.

 

GridControl에 DataTable을 이용하여 데이터 추가하기

https://build.tistory.com/16

 

[C#][WinForm][Dev]DataTable로 GridControl/GridView에 데이터 추가하기

**본 글은 DevExpress 컴포넌트를 이용한 경우에만 참고 할 수 있다. 테스트에 사용된 데이터 GridControl/GridView란? WinForm 의 DataGridView 상위버전. 오름차순/내림차순만 지원되는 DataGridView에서 검색..

build.tistory.com

 

위 글에 이어서,

이번에는 특정 행의 색상을 변경 해보자.

 

테스트에 사용된 데이터

 

품목 중 재고가 0인 제품의 행을 색상으로 표시하여 강조 해보자.

 

 


GridControl/GridView의 특정 행(Row)색상 변경하기.

아래링크를 참조하여 코드를 작성하자.

https://docs.devexpress.com/WindowsForms/DevExpress.XtraGrid.Views.Grid.GridView.RowStyle

 

GridView.RowStyle Event | WinForms Controls | DevExpress Documentation

GridView.RowStyle Event Namespace: DevExpress.XtraGrid.Views.Grid Assembly: DevExpress.XtraGrid.v21.1.dll Declaration C# VB.NET [DXCategory("Appearance")] public event RowStyleEventHandler RowStyle Public Event RowStyle As RowStyleEventHandler Event Data T

docs.devexpress.com

※코드는 GridViewRowStyle 이벤트에 작성해야한다.

 

private void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
        {
            GridView View = sender as GridView;
            if (e.RowHandle >= 0)
            {	
            
            	//View.Column["컬럼명"]
                string category = View.GetRowCellDisplayText(e.RowHandle, View.Columns["Stock"]);
                
                 // 재고(Stock) = "0"
                if (category == "0") 
                {
                    e.Appearance.BackColor = Color.Salmon;
                    e.Appearance.BackColor2 = Color.SeaShell;
                    e.HighPriority = true;
                }
            }
        }

끝.