使用#eval()将数据从单个数据集中的多个表绑定到转发器

时间:2013-11-27 12:01:43

标签: c# asp.net dataset repeater

我有一个返回多个select的存储过程。此过程的结果存储在数据集中。所以数据集包含2个表,table1&表2。
表1 View Table1 Structure


table2 View Table2 Structure

我有像这样的转发器控件

<asp:Repeater ID="rptrDetails" runat="server">
        <HeaderTemplate>
            <table style="width: 100%" class="table-popup" border="1">
                <tr>
                    <th>
                        Payment Date
                    </th>
                    <th>
                        Payer Type
                    </th>
                    <th>
                        Payer Description
                    </th>
                    <th>
                        Payment Method
                    </th>
                    <th>
                        Check No
                    </th>
                    <th>
                        Amount
                    </th>
                    <th>
                        &nbsp;
                    </th>
                </tr>
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
                <td>
                    <%# Eval("PaymentDate")%>  //from table1
                </td>
                <td>
                    <%# Eval("PayerType")%>  //from table1
                </td>
                <td>
                    <%# Eval("PayerDescription")%> //from table1
                </td>
                <td>
                    <%# Eval("PaymentMethod")%> //from table1
                </td>
                <td>
                    <%# Eval("CheckNo")%> //from table1
                </td>
                <td>
                    <%# Eval("Amount")%> //from table1
                </td>
                <td>
                    <img src="Images/expand.png" alt="click here to see details" onclick='ToggleDisplay(<%#Container.ItemIndex %>);'
                        style="cursor: pointer; height: 15px; width: 15px" />
                </td>
            </tr>
            <tr id='coldiv<%#Container.ItemIndex %>' style="display: none;">
                <td colspan="7">
                    <div>
                        <table style="width: 100%">
                            <tr>
                                <td>
                                    s
                                </td>
                                <td>
                                    <%# Eval("lName") %> //from table2
                                </td>
                                <td>
                                    s
                                </td>
                                <td>
                                    <%# Eval("fName") %> //from table2
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    s
                                </td>
                                <td>
                                    <%# Eval("mName") %> //from table2
                                </td>
                                <td>
                                    sd
                                </td>
                                <td>
                                    <%# Eval("city") %> //from table2
                                </td>
                            </tr>
                        </table>
                    </div>
                </td>
            </tr>
        </ItemTemplate>
        <FooterTemplate>
            </table>
        </FooterTemplate>
    </asp:Repeater>

如何将table2中的数据绑定到此转发器。我收到错误说没有找到table2中的字段名称。请帮忙。

是否有任何方式像Eval(“Table [0] .PaymentDate”)或Eval(“Table [0] .city”)

1 个答案:

答案 0 :(得分:1)

制作一个新的临时DataTable并将您Dataset中的必需列添加到临时DataTable中,然后像您一样以简单的方式绑定它。