我有一个列出代理、联系人和组的数据表,最终结果将通过列表绑定到转发器控件。到目前为止,我能够提取我需要的信息,但是在获取代理和联系人的不同值时遇到了麻烦。有重复的机构以及具有一个或多个组的联系人。
它应该类似于以下结构:
Agency1
Jenny | Basketball, Dance
Bill | Football, Ballet
Agency2
Archie | Soccer, Band
到目前为止,我有这个:
var groups = dt.AsEnumerable()
.GroupBy(r => new
{
Agency = r.Field<string>(("Agency")),
//Contact = r.Field<string>("POC") ,
//Groups = r.Field<string>("POC_Name")
});
List<alist> agencyAdd = new List<alist>();
foreach (var agencyContactGroup in groups)
{
agencyAdd.Add(new alist()
{
Agency = agencyContactGroup.Key.Agency,
Contact = string.Join("<br>", agencyContactGroup.Select(r => r.Field<string>("POC")))
+ string.Join(",", agencyContactGroup.Select(g => g.Field<string>("POC_Name")))
});
}
在 .aspx 方面:
<asp:Repeater runat="server" ID="AgencyRepeater">
<HeaderTemplate> <h2>Agency:</h2> </HeaderTemplate>
<ItemTemplate>
<table>
<tr>
<td><h3><b><%# DataBinder.Eval(Container.DataItem, "Agency") %></b></h3></td>
</tr>
<tr>
<td>
<b><%# DataBinder.Eval(Container.DataItem, "Contact") %></b>
<b><%# DataBinder.Eval(Container.DataItem, "Groups") %></b>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
有人可以指出我正确的方向。谢谢。