본문 바로가기
소소한 C# 지식

[c#]WinForm Datagridview CheckBox 사용 방법

by 해뤼맘 2022. 5. 25.
728x90
반응형

C#에서 DataGridview에서 CheckBox 사용 방법 입니다.

 

1. DataGridview 열 편집

  • Datagridview 작업 - 열편집 클릭
  • Check Box 사용 할 열 선택 후 ColumnType을 DataGridViewCheckBoxColumn 으로 변경

Datagridview 열편집
Datagridview 열편집

 

2. Datagridview Cellclick 이벤트

  • 마우스 - Cellclick 이벤트 생성

Datagridview Cellclick 이벤트
Datagridview Cellclick 이벤트

3. Datagridview CheckBox 코드

  • if(e.RowIndex > -1) : CheckBox 개별 Row 클릭 했을때 플래그 변경
  • if (e.ColumnIndex == checkgubun.Index) : Column 헤더 클릭 했을 경우 전체 플래그 변경
 public partial class FrmDatagridViewCelltest : Form
    {
        bool entireFlag = true;

        public FrmDatagridViewCelltest()
        {
            InitializeComponent();
        }

        private void dgvCheck_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                if (e.ColumnIndex == checkgubun.Index)
                {
                    bool flag = (bool)dgvCheck.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
                    dgvCheck.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = !flag;
                }
            }
            else
            {
               //Column 헤더를 클릭했을 경우 전체 플래그 변경
                if (e.ColumnIndex == checkgubun.Index)
                {
                    for (int i = 0; i < dgvCheck.Rows.Count; i++)
                    {
                        dgvCheck.Rows[i].Cells[e.ColumnIndex].Value = entireFlag;
                      
                    }

                    //전체 플래그 변경
                    entireFlag = !entireFlag;
                }

            }
        }

 

이상 C#에서 DataGridview에서 CheckBox 사용 방법 이었습니다.

728x90
반응형

댓글