我有一个带有以下层次结构的树视图
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节点和根节点等显示每个节点的数据
答案 0 :(得分:2)
我怀疑你没有正确使用.Depth属性。尝试将每个节点的ID设置为不同的值,或者在尝试时将SQL语句写入每个节点的标记中。