To reproduce: DataTable dt = new DataTable(); public Form1() { InitializeComponent(); this.radGridView1.EnableFiltering = true; this.radGridView1.ShowHeaderCellButtons = true; this.radGridView1.Relations.AddSelfReference(this.radGridView1.MasterTemplate, "ID", "ParentID"); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("Title", typeof(string)); dt.Columns.Add("ParentID", typeof(int)); for (int i = 1; i <= 5; i++) { dt.Rows.Add(i, "Parent." + i, 0); } Random rand = new Random(); for (int i = 6; i < 20; i++) { dt.Rows.Add(i, "Child." + i, rand.Next(1, 6)); } for (int i = 20; i < 40; i++) { dt.Rows.Add(i, "SubChild." + i, rand.Next(6, 20)); } this.radGridView1.DataSource = dt; this.radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill; }