if (e.Node.Level == 1) //child { switch (e.Node.Parent.Tag.ToString()) { case "1": e.Node.Cells[1].Appearance.BackColor = Color.BlueViolet; break; case "2": e.Node.Cells[1].Appearance.BackColor = Color.Blue; break; case "3": e.Node.Cells[1].Appearance.BackColor = Color.Violet; break; } } else if (e.Node.Level == 2) //grandchild { switch (e.Node.Parent.Parent.Tag.ToString()) { case "1": e.Node.Cells[1].Appearance.BackColor = Color.Red; break; case "2": e.Node.Cells[1].Appearance.BackColor = Color.Magenta; break; case "3": e.Node.Cells[1].Appearance.BackColor = Color.MediumVioletRed; break; } }