数据表过滤器问题

时间:2011-03-07 18:58:23

标签: .net vb.net datatable

我的数据库中有两个不同的表。一个是Class,另一个是LAREACT,它们都有一个主要使用的主要设施领域。在我的代码的以下部分中,将根据两个表上的记录总和生成DataTable。 基于下面的代码ACTIVITYLOOKUP,数据表具有“使用的主要设施”,“描述”,“类型名称”,“类型”,“Id”列。当存在具有相同MAIN FACILITY USED实体的行时,会发生此问题。数据表不会显示它(过滤它?)。你知道问题所在吗?以及如何修复它而不对数据库进行任何修改?

While oLArea.GetCurrent(oCursor) 
   oRow = DS.Tables("ActivityLookup").NewRow
   oRow.Item("MainFacilityUsed") = oLArea.MAIN_FACILITY_USED
   oRow.Item("Description") = oLArea.DESCRIPTION
   oRow.Item("TypeName") = If(oLArea.TYPE = "G", "Group", "Single")
   oRow.Item("Type") = oLArea.TYPE
   oRow.Item("Id") = oRow.Item("Type") & "-" & oRow.Item("MainFacilityUsed")
   DS.Tables("ActivityLookup").Rows.Add(oRow)
   oCursor.MoveNext()
End While
If bIncludeClasses Then
   Dim oClass As New CFastLookup
   Dim d As Date = DateAdd(DateInterval.Year, 1, Today)
   oCursor = oClass.ClassLookup(tCentreId, d)
   While oClass.GetCurrent(oCursor)
      DS.Tables("ActivityLookup").DefaultView.RowFilter = "[MainFacilityUsed]=" & EncodeToText(oClass.moGen.Item("MAIN FACILITY USED"))
      If DS.Tables("ActivityLookup").DefaultView.Count = 0 Then
         oRow = DS.Tables("ActivityLookup").NewRow
         oRow.Item("MainFacilityUsed") = oClass.moGen.Item("MAIN FACILITY USED")
         oRow.Item("Description") = oClass.moGen.Item("Description")
         oRow.Item("TypeName") = "Class"
         oRow.Item("Type") = "C"
         oRow.Item("Id") = oRow.Item("Type") & "-" & oRow.Item("MainFacilityUsed")
         DS.Tables("ActivityLookup").Rows.Add(oRow)
      End If
     oCursor.MoveNext()
   End While
End If
DS.Tables("ActivityLookup").DefaultView.RowFilter = ""
DS.AcceptChanges()

1 个答案:

答案 0 :(得分:0)

尝试在SQL中指定UNION ALL。

相关问题