求DataList嵌套例子代码
该页面有两个小模块:块1:其他信息服务(DataList1显示)(大标题)1.水电费2.蔬菜价格信息3.商场信息(1-3为内嵌DataList2显示的内容)模块2:新闻中...
该页面有两个小模块:
块1:
其他信息服务(DataList1显示)(大标题)
1.水电费
2.蔬菜价格信息
3.商场信息
(1-3为内嵌DataList2显示的内容)
模块2:
新闻中心(DataList1显示)
1.公司新闻
2.其他媒体新闻
(1-2为内嵌DataList2显示的内容)
求这个例子的代码!
菜鸟求助,请您耐心帮助!谢谢!
如果再能告诉我怎么设计数据表 更好! 展开
块1:
其他信息服务(DataList1显示)(大标题)
1.水电费
2.蔬菜价格信息
3.商场信息
(1-3为内嵌DataList2显示的内容)
模块2:
新闻中心(DataList1显示)
1.公司新闻
2.其他媒体新闻
(1-2为内嵌DataList2显示的内容)
求这个例子的代码!
菜鸟求助,请您耐心帮助!谢谢!
如果再能告诉我怎么设计数据表 更好! 展开
1个回答
展开全部
下面是我空间的一篇文章,你看下,或许对你有所帮助
最近老是有人问这个问题,其实这个问题细细想来其实就是把一个DataList(childTabaList)写在一个dataList(parentDataList)的<ItemTemplate></ItemTemplate>中,然后再对datalist进行绑定,下面就是如何实现的代码:前台:<asp:DataList runat="server" Id="ParentDataList" GridLines="Both" cellpadding="3"
RepeatColumns="1" Width="407px">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<%# DataBinder.Eval(Container,"DataItem.OnDutyPeople") %>
<br>
<asp:DataList runat="server" Id="ChildDataList" GridLines="None" datasource='<%# DataBinder.Eval(Container, "DataItem.myrelation")%>'>
<HeaderTemplate>
<table width="100%">
<tr>
<td ><b>会议名称</b></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style ="height:25px;" >
<td ><asp:Label ID="lbName" Ruant="serve" Text=' <%# DataBinder.Eval (Container,"DataItem.MeetingName")%>'></asp:Label></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>c# 代码:DataTable mytable = new DataTable("parentTable");mytable.Columns .Add(new DataColumn("OnDutyPeople"));这是用于绑定parentDataList的数据;DataTable childTable = new DataTable("childTable");
childTable.Columns.Add(new DataColumn("OnDutyPeople"));
childTable.Columns.Add(new DataColumn("MeetingName"));这是用于绑定childDataList的数据;(以上的datatable的数据载入,很简单我就不写了,)
下面就是如何把这两个datatable联系起来,这是关键;DataSet ds = new DataSet();
ds.Tables.Add(mytable);
ds.Tables.Add(childTable);
ds.Relations.Add("myrelation", ds.Tables["parentTable"].Columns["OnDutyPeople"], ds.Tables["childTable"].Columns["OnDutyPeople"]);这里利用DataSet的Relations的add方法,把两个table关联起来,第一个参数是这个关联的名称,第二个参数是外层datalist的与内层datalist相关联的主键,第三个参数是内层datalist与外层datalist相关联的外键。ParentDataList.DataSource = ds.Tables["parentTable"].DefaultView;
ParentDataList.DataBind();这样就把数据绑定上去了;下面就是如何获取DataList的数据了,相信对于经常操作DataList的大虾们,是小菜一碟,for(int i=0;i<parentDataList.Items.Count;i++){ DataList dt= (DataList)parentDataList.Item[i].FindControl("childDataList"); for(int j=0;j<dt.Item.Count;j++) { string str=((Label)dt.Item[j].FindControl("lbName")).Text;//这是childDataList的值; }}
最近老是有人问这个问题,其实这个问题细细想来其实就是把一个DataList(childTabaList)写在一个dataList(parentDataList)的<ItemTemplate></ItemTemplate>中,然后再对datalist进行绑定,下面就是如何实现的代码:前台:<asp:DataList runat="server" Id="ParentDataList" GridLines="Both" cellpadding="3"
RepeatColumns="1" Width="407px">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<%# DataBinder.Eval(Container,"DataItem.OnDutyPeople") %>
<br>
<asp:DataList runat="server" Id="ChildDataList" GridLines="None" datasource='<%# DataBinder.Eval(Container, "DataItem.myrelation")%>'>
<HeaderTemplate>
<table width="100%">
<tr>
<td ><b>会议名称</b></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style ="height:25px;" >
<td ><asp:Label ID="lbName" Ruant="serve" Text=' <%# DataBinder.Eval (Container,"DataItem.MeetingName")%>'></asp:Label></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>c# 代码:DataTable mytable = new DataTable("parentTable");mytable.Columns .Add(new DataColumn("OnDutyPeople"));这是用于绑定parentDataList的数据;DataTable childTable = new DataTable("childTable");
childTable.Columns.Add(new DataColumn("OnDutyPeople"));
childTable.Columns.Add(new DataColumn("MeetingName"));这是用于绑定childDataList的数据;(以上的datatable的数据载入,很简单我就不写了,)
下面就是如何把这两个datatable联系起来,这是关键;DataSet ds = new DataSet();
ds.Tables.Add(mytable);
ds.Tables.Add(childTable);
ds.Relations.Add("myrelation", ds.Tables["parentTable"].Columns["OnDutyPeople"], ds.Tables["childTable"].Columns["OnDutyPeople"]);这里利用DataSet的Relations的add方法,把两个table关联起来,第一个参数是这个关联的名称,第二个参数是外层datalist的与内层datalist相关联的主键,第三个参数是内层datalist与外层datalist相关联的外键。ParentDataList.DataSource = ds.Tables["parentTable"].DefaultView;
ParentDataList.DataBind();这样就把数据绑定上去了;下面就是如何获取DataList的数据了,相信对于经常操作DataList的大虾们,是小菜一碟,for(int i=0;i<parentDataList.Items.Count;i++){ DataList dt= (DataList)parentDataList.Item[i].FindControl("childDataList"); for(int j=0;j<dt.Item.Count;j++) { string str=((Label)dt.Item[j].FindControl("lbName")).Text;//这是childDataList的值; }}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询