1

我想知道是否有人可以提供帮助....我一直在关注各种教程(在这里和 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();

基本上我只是完全混淆了自己。有人能抽出几分钟来帮忙吗?

谢谢,克雷格

4

0 回答 0