To reproduce:
public RadForm1()
{
InitializeComponent();
DataTable master = new DataTable();
master.Columns.Add("ID", typeof(int));
master.Columns.Add("F_ID", typeof(int));
master.Columns.Add("test", typeof(string));
DataTable child = new DataTable();
child.Columns.Add("F_ID", typeof(int));
child.Columns.Add("test", typeof(string));
child.Columns.Add("CheckBox", typeof(bool));
for (int i = 0; i < 10; i++)
{
master.Rows.Add(i, i , "Row " + i);
child.Rows.Add(i , "Child " + i, true);
}
radGridView1.DataSource = master;
GridViewTemplate template = new GridViewTemplate();
template.DataSource = child;
radGridView1.MasterTemplate.Templates.Add(template);
GridViewRelation relation = new GridViewRelation(radGridView1.MasterTemplate);
relation.ChildTemplate = template;
relation.RelationName = "Test";
relation.ParentColumnNames.Add("F_ID");
relation.ChildColumnNames.Add("F_ID");
radGridView1.Relations.Add(relation);
this.Load += RadForm1_Load;
}
void RadForm1_Load(object sender, EventArgs e)
{
GridViewCheckBoxColumn col = radGridView1.MasterTemplate.Templates[0].Columns[2] as GridViewCheckBoxColumn;
col.EnableHeaderCheckBox = true;
}
- Expand some rows and click on header check box.