To reproduce: public Form1() { InitializeComponent(); InitializeRadGridView(); this.Size = new System.Drawing.Size(782, 647); radGridView1.DataSource = GetDataSource(); radGridView1.MasterTemplate.ExpandAll(); } private void InitializeRadGridView() { radGridView1.EnableGrouping = false; radGridView1.AllowAddNewRow = false; radGridView1.MasterTemplate.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill; GridViewDataColumn column = new GridViewTextBoxColumn(); column.FieldName = "Name"; radGridView1.MasterTemplate.Columns.Add(column); GridViewTemplate template = new GridViewTemplate(); template.AllowCellContextMenu = false; template.AllowColumnHeaderContextMenu = false; template.AutoGenerateColumns = false; template.ShowRowHeaderColumn = false; template.ShowColumnHeaders = false; template.AllowAddNewRow = false; template.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill; radGridView1.Templates.Add(template); GridViewRelation relation = new GridViewRelation(radGridView1.MasterTemplate, template); relation.ChildColumnNames.Add("Bs"); radGridView1.Relations.Add(relation); column = new GridViewTextBoxColumn(); column.FieldName = "Name"; radGridView1.Templates[0].Columns.Add(column); column = new GridViewImageColumn(); column.MinWidth = column.MaxWidth = 30; radGridView1.Templates[0].Columns.Add(column); radGridView1.Templates[0].AllowRowReorder = true; template = new GridViewTemplate(); template.AllowCellContextMenu = false; template.AllowColumnHeaderContextMenu = false; template.AutoGenerateColumns = false; template.ShowRowHeaderColumn = false; template.ShowColumnHeaders = false; template.AllowAddNewRow = false; template.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill; radGridView1.Templates[0].Templates.Add(template); relation = new GridViewRelation(radGridView1.Templates[0], template); relation.ChildColumnNames.Add("Cs"); radGridView1.Relations.Add(relation); column = new GridViewTextBoxColumn(); column.FieldName = "Name"; radGridView1.Templates[0].Templates[0].Columns.Add(column); radGridView1.Templates[0].Templates[0].AllowRowReorder = true; } private List<A> GetDataSource() { List<A> list = new List<A>(); A a1 = new A(); a1.Id = 1; a1.Name = "A1"; list.Add(a1); A a2 = new A(); a2.Id = 2; a2.Name = "A2"; list.Add(a2); A a3 = new A(); a3.Id = 3; a3.Name = "A3"; list.Add(a3); B b1 = new B(); b1.Id = 10; b1.Name = "B1"; a1.Bs.Add(b1); B b2 = new B(); b2.Id = 20; b2.Name = "B2"; a1.Bs.Add(b2); B b3 = new B(); b3.Id = 30; b3.Name = "B3"; a1.Bs.Add(b3); B b4 = new B(); b4.Id = 40; b4.Name = "B4"; a2.Bs.Add(b4); B b5 = new B(); b5.Id = 50; b5.Name = "B5"; a3.Bs.Add(b5); C c1 = new C(); c1.Id = 100; c1.Name = "C1"; b1.Cs.Add(c1); b3.Cs.Add(c1); C c2 = new C(); c2.Id = 200; c2.Name = "C2"; b1.Cs.Add(c2); b2.Cs.Add(c2); b2.Cs.Add(c1); C c3 = new C(); c3.Id = 300; c3.Name = "C3"; b1.Cs.Add(c3); b2.Cs.Add(c3); b3.Cs.Add(c3); C c4 = new C(); c4.Id = 400; c4.Name = "C4"; b4.Cs.Add(c4); C c5 = new C(); c5.Id = 500; c5.Name = "C5"; b5.Cs.Add(c5); return list; } } public class A { public int Id { get; set; } public string Name { get; set; } public List<B> Bs { get; set; } public A() { Bs = new List<B>(); } } public class B { public int Id { get; set; } public string Name { get; set; } public List<C> Cs { get; set; } public B() { Cs = new List<C>(); } } public class C { public int Id { get; set; } public string Name { get; set; } } The last row is not fully visible, hence a scroll bar should be shown Workaround: collapse and expand the last row in the grid: radGridView1.MasterTemplate.ExpandAll(); radGridView1.ChildRows[radGridView1.ChildRows.Count - 1].IsExpanded = false; radGridView1.ChildRows[radGridView1.ChildRows.Count - 1].IsExpanded = true;