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

Posted

技术标签:

【中文标题】使用 #eval() 将来自单个数据集的多个表中的数据绑定到转发器【英文标题】:bind data to repeater from multiple tables from a single dataset using #eval() 【发布时间】:2013-11-27 12:01:42 【问题描述】:

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

table2View 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"  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") 的方法

【问题讨论】:

请显示您用于填充数据集的查询 我只想知道如何从数据集中的两个数据表中绑定数据。比如 Eval("Table[0].PaymentDate") 什么的 【参考方案1】:

创建一个新的临时DataTable 并将您所需的列从您的Dataset 放入临时DataTable,并以您正在做的简单方式绑定它。

【讨论】:

以上是关于使用 #eval() 将来自单个数据集的多个表中的数据绑定到转发器的主要内容,如果未能解决你的问题,请参考以下文章

如何从单个控制器将数据插入到 laravel 中的多个表中?

将数据从joomla中的单个组件存储在不同组件的多个表中

';将多个工作表中的数据附加到单个工作表宏中

使用 PHP 将多个 SQL 列组合成 HTML 表的单个列

在jdbc中的单个事务中将数据插入多个表中

如何将多个表中的电话号码插入mysql中的单个联系人表?