Me.GridControl1.BaseStylesMap("Column Header").StyleInfo.CellType = "CheckBox"But since you only want one of the rows to be checkboxes, and you cannot use a RowStyles to change the celltype if you make the row a header row. If you want the top row to be checkboxes, then you will have to loop through the cells setting the style cell by cell. If you want the second row to be the checkboxes, then you could just freeze the row using FozenCount, but do not make it a header (don''t set HeaderCount). Then the RowStyles for the row will not be superceded by the Column Header basestyle. The reason you lose the border when you change the Column Header celltype to checkbox is that header cells do not have a border. Instead, the cell control draws the cell with a 3d appearance (This makes the header look more like a button.). So, if you want your checkbox ''header'' cells to have the same appearance, then you should set the CellAppearance style property.
GridControl2(0, i).CellType = "CheckBox" Me.GridControl2(0, i).CellAppearance = GridCellAppearance.Raised