使用 #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>
</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 中的多个表中?