嵌套中继器
我有一个显示器需要比我习惯的更动态,似乎无法找到我需要的答案。
Customer a Customer b Customer c (and so on) savings with product a savings with product b (and so on)
我知道每个领域至少会有一个。 有人说使用嵌套转发器或其他东西。 我环顾四周,无法找到如何使用嵌套转发器。 我在截止日期前,在找到有效的东西之前不能真正玩弄东西。
我应该使用什么asp控件来做到这一点? 一个例子会很好,但我只是需要帮助正确的方向。
我正在使用sql但通过链接获取数据。 数据最终列在清单中。
谢谢您的帮助!
嵌套中继器非常简单。 只需在ItemTemplate中抛出一个,并在主中继器的OnItemDataBound事件中执行以下操作
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { DataRowView row = (DataRowView)e.Item.DataItem; Repeater nestedRepeater = e.Item.FindControl("NestedRepeater") as Repeater; nestedRepeater.DataSource = getSavingsPerCustomer(row["customerID"]); nestedRepeater.DataBind(); }
外转发器的模板具有客户名称和转发器,内部转发器具有不同的节省
可能是错误的语法,但你明白了
Customer: <%= Eval(customer)%>
Saving: <%= Eval(saving)%>
类似的问题:中继器中的中继器
我知道这个问题是针对数据表的,但我在尝试用对象完成相同的任务时发现了这个问题,但我没有找到答案,并认为这对其他人有用。
如果您正在使用其中包含嵌套对象的对象,则可以像这样设置数据源
DataSource='<%# Eval("ChildDataSourceProperty") %>'
所有其他答案看起来太复杂,我得出了这个结论
这是我的完整转发器代码
<%# Eval("ParentProperty") %> <%# Eval("ChildObjectProperty") %>
您可以使用带有AutoGenerateColumns =“true”的GridView。 这将根据您绑定的数据源创建您的collumns。
考虑这个课程
public class A { public string Field1 { get; set; } public int Field2 { get; set; } }
而这段代码
GridView1.DataSource = new List() { new A() { Field1 = "a", Field2 = 1 }, new A() { Field1 = "b", Field2 = 2 }, new A() { Field1 = "c", Field2 = 3 }, }; GridView1.DataBind();
这将生成一个HTML表,其中包含名为Field1和Field2的列以及相应的3行。 像这样的东西。
Field1 Field2 a 1 b 2 c 3
如果将数据源更改为具有不同列的另一个源,它将自动为您生成相应的列。
上述就是C#学习教程:嵌套中继器分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1016357.html