2016-11-21 8 views
0

Что не так с этим кодом? У меня есть 3 таблицы, связанные с VisitorSheet, и страница посетителей, связанная с посещением. Однако не во всех зданиях есть VisitorSheet, а не у VisitorSheet есть Visites. Когда этот код запускается, все VisitorSheets отображаются для каждого здания, и все Visites отображаются для каждого VisitorSheet. Как я могу фильтровать правильные записи, отображаемые в каждом узле Treeview?VB.Net Фильтрация TreeView Отчеты родителей и детей

Me.VisitTableAdapter.Fill(Me.VisitDbDataSet.Visit) 
Me.VisitorSheetTableAdapter.Fill(Me.VisitorSheetDbDataSet.VisitorSheet) 
Me.BuildingTableAdapter.Fill(Me.BuildingDbDataSet.Building) 

Try 
    For Each masterRow As DataRow In BuildingDbDataSet.Tables("Building").Rows 
     Dim masterNode As New TreeNode(masterRow("Abbr").ToString()) 
     TreeView1.Nodes.Add(masterNode) 

     For Each childRow As DataRow In VisitorSheetDbDataSet.Tables("VisitorSheet").Rows 
      masterRow.GetChildRows("SheetNo") 

      Dim childNode As New TreeNode(childRow("SheetDate").ToString()) 
      masterNode.Nodes.Add(childNode) 

      For Each childRow1 As DataRow In VisitDbDataSet.Tables("Visit").Rows 
       masterRow.GetChildRows("VisitNo") 

       Dim childNode1 As New TreeNode(childRow1("Visitor").ToString()) 
       childNode.Nodes.Add(childNode1) 
      Next 
     Next 
    Next 

Образец

enter code here

ответ

0

Вы сейчас перебирает все строки в каждой таблице. Вам нужно только перебирать дочерние строки.

For Each masterRow As DataRow In BuildingDbDataSet.Tables("Building").Rows 
    Dim masterNode As New TreeNode(masterRow("Abbr").ToString()) 
    TreeView1.Nodes.Add(masterNode) 

    For Each childRow As DataRow In VisitorSheetDbDataSet.Tables("VisitorSheet").Rows 
     'masterRow.GetChildRows("SheetNo") 

     Dim childNode As New TreeNode(childRow("SheetDate").ToString()) 
     masterNode.Nodes.Add(childNode) 

     For Each childRow1 As DataRow In masterRow.GetChildRows("SheetNo") 

      '... 

     Next 
    Next 
Next 
+0

Сейчас 4:54 AM - 22/11/2016. Пробовал различные изменения, но все еще был в тупике. Благодарен, если вы можете вставить изменения в код, который позволит мне заполнить программу. Все остальные аспекты программы в порядке, кроме кода для загрузки TREEVIEW. Пойдем отдохнуть. –

Смежные вопросы