퇴근5분전

그리드뷰 각 Row색 바꾸기.
사용자 삽입 이미지
<그리드뷰에 무지개색을 입힌 모습 >

기본적으로 기본스타일 + 홀수행 스타일 바꾸면 홀짝 홀짝 ... 색조절은 가능하다.

특정열에 어떤 값에 따라 Row에 표시하고자 할때 사용하기위해 만들다가
그냥 블로깅 해둔다.
예제로 무지개색를 넣었음.


 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
           
            DataTable dt = new DataTable();
            dt.Columns.AddRange(new DataColumn[] {
                new DataColumn("NO"),  // 열값에 따라 색을 바꾸고자..
                new DataColumn("NAME"),
                new DataColumn("REMARK")           
            });

            for (int loop = 0; loop < 21; loop++)
                dt.Rows.Add(loop, string.Format("{0} NAME", loop), loop % 3 == 0 ? "비고~" : " NONE ");

            dataGridView1.DataSource = dt;

        }

        private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            try
            {
                int no = Convert.ToInt32(dataGridView1["NO", e.RowIndex].Value);
                switch (no % 7) // 7가지 색을 넣기위해..
                {
                    case 0:
                        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
                        break;
                    case 1:
                        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Orange;
                        break;
                    case 2:
                        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Yellow;
                        break;
                    case 3:
                        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Green;
                        break;
                    case 4:
                        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Blue;
                        break;
                    case 5:
                        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.DarkBlue;
                        break;
                    case 6:
                        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Violet;
                        break;                 
                    default:
                        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Empty;
                        break;
                }
            }
            catch
            {
           
            }
        }
    }


!! 참~~ 쉽당~