TreeView根节点的父节点和叶节点

时间:2012-07-12 10:07:00

标签: vb.net treeview

我有一个带有以下层次结构的树视图

 Season 1
        Farm 1
              Field 1
              Field 2
                     Crop 1
                     Crop 2
        Farms 2  
              Field 1
              Field 2
                     Crop 1
                     Crop 2

并且GridView显示Data agains树视图选择的节点值。我使用sqldatasource在gridview中显示数据,并使用以下代码和查询

 Dim cmd As OleDbCommand = New OleDbCommand()
        If TreeView1.SelectedNode.Depth = 0 Then
            SqlDataSource1.SelectCommand = ("SELECT * FROM V_FARMS where SSN_id='" & TreeView1.SelectedNode.Value & "'")

        ElseIf TreeView1.SelectedNode.Depth = 1 Then
            SqlDataSource1.SelectCommand = ("SELECT * FROM V_FARMS where FRM_id='" & TreeView1.SelectedNode.Value & "'")

        ElseIf TreeView1.SelectedNode.Depth = 2 Then
            SqlDataSource1.SelectCommand = ("SELECT * FROM V_FARMS where FLD_id='" & TreeView1.SelectedNode.Value & "'")

        ElseIf TreeView1.SelectedNode.Depth > 2 Then
            SqlDataSource1.SelectCommand = ("SELECT * FROM V_FARMS where CRP_id='" & TreeView1.SelectedNode.Value & "'")
        End If

现在问题是,当我选择第1季时,它会显示针对Season1 OK的数据。 但是当我选择Farm1然后它显示针对Farm 1的所有数据而不是针对Farm 1的第1季的所有数据以及Fields值的行为相同。我是否可以针对其上面的parant节点和根节点等显示每个节点的数据

1 个答案:

答案 0 :(得分:2)

我怀疑你没有正确使用.Depth属性。尝试将每个节点的ID设置为不同的值,或者在尝试时将SQL语句写入每个节点的标记中。