我想知道是否有人可以提供帮助....我一直在关注各种教程(在这里和 MSDN 网站上),我最终完全把自己搞糊涂了!
我有一个如下所示的数据集:
id | descipt | letter
1 | ADR | A
2 | Agril | A
3 | Banking | B
4 | Benefit | B
按字母顺序上升到 Z。
我想要实现的是构建一个嵌套的中继器,完成后看起来像:
A
ADR
Agril
B
Banking
Benefit
这是我到目前为止所做的,但它不起作用(目前我的错误是 DataBinding:'System.Data.DataRow' 不包含名为 'descript' 的属性。)。我只是不够了解,无法明智地解决这个问题。我的中继器看起来像:
<asp:Repeater ID="rptParentAD" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "letter") %><br />
<asp:Repeater Id="rptChildAD" runat="server" DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myRelation") %>'>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "descript") %><br />
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
而我背后的代码是这样的:
dtCourses = myDataSet.Tables[1];
drFilter = dtCourses.Select(zAtoD); //Apply the filter to the table to get interests beginning with A - D
dtLettersAD = drFilter.CopyToDataTable().DefaultView.ToTable(true, "letter"); //Convert this filtered list back to a datatable but now it returns the distinct letters
dtCourses2 = drFilter.CopyToDataTable().DefaultView.ToTable();
dsParent2Child.Tables.Add(dtLettersAD);
dsParent2Child.Tables.Add(dtCourses2);
dsParent2Child.Relations.Add("myRelation", dtLettersAD.Columns["letter"], dtCourses2.Columns["letter"]);
rptParentAD.DataSource = dtLettersAD;
rptParentAD.DataBind();
基本上我只是完全混淆了自己。有人能抽出几分钟来帮忙吗?
谢谢,克雷格