次の階層を持つツリービューがあります
Season 1
Farm 1
Field 1
Field 2
Crop 1
Crop 2
Farms 2
Field 1
Field 2
Crop 1
Crop 2
そして、データを表示するGridViewは、ツリービューで選択されたノード値を返します。sqldatasourceを使用して、次のコードとクエリでグリッドビューにデータを表示します。
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を選択すると、シーズン1に対してデータが表示されることです。しかし、Farm1を選択すると、Farm 1に対するすべてのデータが表示されますが、Farm 1のシーズン1に対するすべてのデータではなく、Fieldsの値も同じように動作します。各ノードのデータをその上の親ノードおよびルートノードに対して表示するにはどうすればよいですか。 。