使用linq将VB.net DataRepeater绑定到运行时的数据视图项

时间:2013-12-24 16:51:34

标签: vb.net linq datarepeater

希望有人可以帮我解决可能是一个愚蠢的问题。

我正在尝试使用datarepeater来显示通过LINQ从数据表生成的数据

我已经设法使用以下过滤的现有数据源做到了这一点:

Me.Tbl_52TableAdapter.Fill(Me.CBRDataSet.tbl_52)

Dim query =
  From dlist In CBRDataSet.tbl_52.AsEnumerable
  Where (dlist.Field(Of String)("TL") = "CTS 06")
  Select dlist

query.CopyToDataTable().AsDataView()
DataRepeater1.DataSource = query

问题在于我需要将数据集中的字段聚合为计数。

如果我用以下内容替换查​​询:

Dim query =
  From CountAgent In CBRDataSet.tbl_52.AsEnumerable
  Group CountAgent By PBX = CountAgent.Field(Of String)("TL") Into Count()
  Select Count

然后说明: 'CopyToDataTable'不是'System.Collections.Generic.IEnumerable(Of Integer)'的成员

我试图通过将声明更改为:     Dim query As IEnumerable(Of DataRow)=

编译,但我不知道它是否有效,我无法检查,因为我找不到将标签绑定到数据视图的生成计数col的方法。

如果有人能告诉我我做错了什么,我会非常感激。

1 个答案:

答案 0 :(得分:0)

回到我自己的问题,万一它可以帮助其他人:MSDN有答案 - 你需要按照

中的描述重载copyToDataTable

"如何:实现CopyToDataTable,其中通用类型T不是DataRow" 于:

http://msdn.microsoft.com/en-us/library/bb669096.aspx