Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'WilsonDataSet.funclib' table. You can move, or remove it, as needed. Me.FunclibTableAdapter.Fill(Me.ADataSet.funclib) treeGridView1.Nodes.Clear() treeGridView1.Columns.Clear() 'set some properties treeGridView1.IsOneLevel = toolStripButton4.Checked 'not used in hierarchical treeGridView1.ImageIndexParent = 0 treeGridView1.ImageIndexChild = 1 treeGridView1.IDColumnName = "seqno" treeGridView1.ParentIDColumnName = "parentid" treeGridView1.UseParentRelationship = True Dim qs As String = "SELECT seqno, funcname,parentid FROM funclib" connection() cn.Open() da = New SqlDataAdapter(qs, cn) da.Fill(ADataSet, "funclib") treeGridView1.DataSource = ADataSet.funclib Dim columnCheckbox As DataGridViewCheckBoxColumn = New DataGridViewCheckBoxColumn() columnCheckbox.Name = "right" columnCheckbox.ReadOnly = False treeGridView1.Columns.Insert(3, columnCheckbox) End Sub