【转】关于Repeater 嵌套梆定不明之处

2023-11-23 04:30
文章标签 嵌套 repeater 不明 梆定

本文主要是介绍【转】关于Repeater 嵌套梆定不明之处,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【转自     http://www.cnblogs.com/caodaiming/archive/2008/12/18/1357660.html】

 

今天在网上看到一段代码,是关于Repeater 嵌套的问题,有很多的不明白的地方,希望大家能帮我把这个迷解了;

先看运行的效果:

XML文件:

 

<?xml version="1.0" encoding="utf-8" ?>
<books><book type="计算机"><context>C语言</context><context>C#语言</context><context>C++语言</context></book><book type="小说"><context>爱情小说</context><context>知音小说</context><context>军事动态</context></book>
</books>

 

 后台代码:

 

protected void Page_Load(object sender, EventArgs e){DataSet ds = new DataSet();ds.ReadXml(Server.MapPath("Test.xml"));Repeater1.DataSource = ds;Repeater1.DataBind();}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e){if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){Repeater p = (Repeater)e.Item.FindControl("Repeater2");DataRowView drv = (DataRowView)e.Item.DataItem;p.DataSource = drv.CreateChildView("book_context");p.DataBind();}}

 前台代码:

 

<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound"><HeaderTemplate>Repeater Test</HeaderTemplate><FooterTemplate></FooterTemplate><ItemTemplate><ul><%#Eval("type") %><br /></ul><asp:Repeater ID="Repeater2" runat="server"><ItemTemplate><%#Eval("context_Text")%><br /></ItemTemplate></asp:Repeater></ItemTemplate>
</asp:Repeater>

 不明的地方是:

1、 p.DataSource = drv.CreateChildView("book_context"); 中的“book_context”为什么是这样的参数,修改成其它的参数报错:

去MSDN中查CreateChildView方法解释如下:

如果 DataSet 中的表之间存在关系,则可以使用 DataRowView 的 CreateChildView 方法为父表中的行创建一个 DataView,包含相关子表中的行;具体也没有说明什么,它只是说父表与子表的关系;

2、前面页面代码

 

<ItemTemplate><%#Eval("context_Text")%><br />
</ItemTemplate>

 梆定XML中的context的时候只能是context_Text字段;修改成context是报错;但是按照我们一般性的理解,应该是梆定XML中的字段啊!

这篇关于【转】关于Repeater 嵌套梆定不明之处的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/415340

相关文章

hdu1254(嵌套bfs,两次bfs)

/*第一次做这种题感觉很有压力,思路还是有点混乱,总是wa,改了好多次才ac的思路:把箱子的移动当做第一层bfs,队列节点要用到当前箱子坐标(x,y),走的次数step,当前人的weizhi(man_x,man_y),要判断人能否将箱子推到某点时要嵌套第二层bfs(人的移动);代码如下:

Cortex-A7:ARM官方推荐的嵌套中断实现机制

0 参考资料 ARM Cortex-A(armV7)编程手册V4.0.pdf ARM体系结构与编程第2版 1 前言 Cortex-M系列内核MCU中断硬件原生支持嵌套中断,开发者不需要为了实现嵌套中断而进行额外的工作。但在Cortex-A7中,硬件原生是不支持嵌套中断的,这从Cortex-A7中断向量表中仅为外部中断设置了一个中断向量可以看出。本文介绍ARM官方推荐使用的嵌套中断实现机

多个,多层嵌套module,打aar包

参考https://blog.51cto.com/4259297/1699714 1.在要打包的module中下添加fat-aar.gradle文件。(该文件只能在项目个gradle是2.3.3是才可食用) 2.把项目的gradle修改为2.3.3,但是不打包的gradle依然是以前的。 3.由于打包的的gradle和不打包的是不一样的,所以需要在修改gradle的文件中的添加判断标志

Android studio jar包多层嵌套,Add library '__local_aars__:...@jar' to classpath问题

在添加jar包,早app下的build.gradle中的 implementation files('libs/jar包的名字.jar') 修改为 api files('libs/jar包的名字.jar') implementation 单层引用,只引用当前jar包层, api 多层引用,应用当前jar包层,已经jar包引用的jar包层

vue el-dialog嵌套解决无法点击问题

产生原因: 当你在 el-dialog 上嵌套另一个 el-dialog 窗口时,可能会遇到内部对话框无法点击的问题。这通常是由于嵌套对话框的遮罩层(overlay)或其他样式问题造成的。 解决方案: 如果你的 el-dialog 组件支持 append-to-body 属性,你可以将对话框附加到 body 元素上,以避免 z-index 问题。 <template><el-dialo

14,子查询语句嵌套

1.1 查询研发部门的所有员工信息 #步骤1: 查询研发部门的 did SELECT did FROM t_department WHERE dname = '研发部'; #步骤2: 嵌套子查询,查询员工信息 SELECT * FROM t_employee WHERE did = (SELECT did FROM t_department WHERE dname = '研发部');

NYOJ 16 矩形嵌套

OJ题目 : http://acm.nyist.net/JudgeOnline/problem.php?pid=16 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除

if语句:嵌套if

在if else语句中,else可以与另一个if语句连用,构成多层判断。 比如:要求输入一个整数,判断输入的整数是0,还是正数或负数。请看如下代码: #include <stdio.h>int main(){int num=0;scanf("%d",&num);if(num==0)printf("输入的数字是0\n");else if(num>0)printf("是正数\n")

ScrollView嵌套listview滑动位置底部bug

三种方案,个人推荐第三种: 1 sv.fullScroll(ScrollView.FOCUS_UP); 2 sv.setScrollY(0); 3 sv.smoothScrollTo(0,20); 滑动冲突解决listView: public class ListViewForScrollView extends ListView {public ListVie

卫语句取代嵌套条件表达式

根据《重构》第9章中可知,1.条件表达式通常有两种表现形式。第一种是所有分支都属于正常行为;第二种是条件表达式提供的答案只有一种是正常行为,其他都不是常见的情况。所以这两种表达式有不同用途,对于第一种代码可以用if-then-else的条件表达式;对于第二种某个条件极其罕见,就应该单独检查该条件,这种单独检查就被称为“卫语句”(guard clauses)。书中举例说明: public do