본문 바로가기

C# Language

DataGridView에서 ComboBox, CheckBox, Button 추가 하기

DataGridView에서 ComboBox, CheckBox, Button를 추가하는 방법은,

Form 디자인에서 추가하는 방법도 있지만,

나 같은 경우에는 소스 상에서 추가를 시켜 볼려고 한다.




public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        // 콤보박스 추가
        DataGridViewComboBoxColumn comboBoxColumn = new DataGridViewComboBoxColumn();
        // 체크박스 추가
        DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();
        //버튼 추가
        DataGridViewButtonColumn buttonColumn = new DataGridViewButtonColumn();
        
        comboBoxColumn.HeaderText = "TestCombo";
        comboBoxColumn.Name = "combo";
        comboBoxColumn.Items.AddRange("Test1", "Test2", "Test3", "Test4", "Test5");

        checkBoxColumn.HeaderText = "Check";
        checkBoxColumn.Name = "check";

        buttonColumn.HeaderText = "Button";
        buttonColumn.Name = "button";
            
        dataGridView1.Columns.Add("column0", "Number");
        dataGridView1.Columns.Add("column1", "FileName");
        dataGridView1.Columns.Add("column2", "FileSize");
        dataGridView1.Columns.Add("column3", "FileExtension");
        dataGridView1.Columns.Add("column4", "LastWriteTime");
        dataGridView1.Columns.Add(comboBoxColumn);
        dataGridView1.Columns.Add(checkBoxColumn);
        dataGridView1.Columns.Add(buttonColumn);

        dataGridView1.Columns[0].Width = 50;
        dataGridView1.Columns[1].Width = 200;
        dataGridView1.Columns[2].Width = 80;
        dataGridView1.Columns[3].Width = 80;
        dataGridView1.Columns[4].Width = 100;
        dataGridView1.Columns[5].Width = 80;
        dataGridView1.Columns[6].Width = 50;
        dataGridView1.Columns[7].Width = 50;

        dataGridView1.AllowUserToAddRows = false;

        dataGridView1.Rows.Add();

        dataGridView1[0, 0].Value = i.ToString();
        dataGridView1[1, 0].Value = fileInfo.FullName.ToString();
        dataGridView1[2, 0].Value = fileInfo.Length.ToString();
        dataGridView1[3, 0].Value = fileInfo.Extension.ToString();
        dataGridView1[4, 0].Value = fileInfo.LastWriteTime.ToString();
        dataGridView1[5, 0].Value = "Test1";
        dataGridView1[6, 0].Value = false;
        dataGridView1[7, 0].Value = "수정";
    }
}

이렇게 추가를 해서 사용하였다.