Here is the solution
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
{
if (dataGridView2.Rows[e.RowIndex].Cells["RecordTypeCode"].Value.ToString() == "Batch Header" && e.ColumnIndex == <index of="" your="" checkbox="" column="" should="" be="" 0="" sicne="" its="" the="" first="">)
{
e.PaintBackground(e.ClipBounds, true);
e.Handled = true;
}
}
}</index></index>