Step 1: Write the Following code in the
binding event of data GridView
DataGridViewCheckBoxColumn
chbx_Column = new DataGridViewCheckBoxColumn();
chbx_Column.Name =
"chk_column";
chbx_Column.HeaderText =
"";
chbx_Column.HeaderCell.Style.Alignment =
DataGridViewContentAlignment.MiddleRight;
dataGridView1.Columns.Add(chbx_Column);
//Select
cell where checkbox to be display
Rectangle rect =
this.dataGridView1.GetCellDisplayRectangle(0,
-1, true);
//0 Column index -1(header row) is row
index
//Mention size
of the checkbox
chkbox.Size =
new Size(18, 18);
//set position
of header checkbox where to places
rect.Offset(40, 2);
chkbox.Location =
rect.Location;
chkbox.CheckedChanged +=
chkBoxChange;
//Add CheckBox
control to datagridView
this.dataGridView1.Controls.Add(chkbox);
// for adding
combo box in header
Rectangle rect =
this.dataGridView1.GetCellDisplayRectangle(0,
-1, true);
//0 Column index -1(header row) is row
index
ComboBox c =
new ComboBox();
c.BackColor =
Color.FromArgb(246, 246, 246);
c.Size =
new Size(100,15);
rect.Offset(0, 0);
c.Location = rect.Location;
this.dataGridView1.Controls.Add(c);
Step 2: For individual
row ,write event code. This is just to uncheck the checked row and check the
unchecked row
private
void dataGridView1_CellClick(object
sender, DataGridViewCellEventArgs e)
{
if( Convert.ToBoolean(dataGridView1.Rows[e.RowIndex].Cells["chk_column"].Value)==
true)
{
dataGridView1.Rows[e.RowIndex].Cells["chk_column"].Value
=false;
}
else
{
dataGridView1.Rows[e.RowIndex].Cells["chk_column"].Value
= true;
}
}