数据服务控件的嵌套最主要的是是内层控件数据的加载和事件的触发。
DataList嵌套的重点是要在外层DataList的ItemDataBound事件中用e.Item.FindControl方法来找到嵌套层
DataList的id,编写嵌套层DataList的绑定数据源事件。下面以两层DataList为例介绍下实现的过程。效果如下图:
---------前台html代码-------
-
<asp:datalistid="dlFileType"RepeatColumns="2"runat="server">
-
<ItemTemplate>
-
<tableborder="0"cellspacing="0"cellpadding="0">
-
<tr>
-
<tdwidth="22%"height="88"align="center"valign="top">
-
<imgsrc='<%#DataBinder.Eval(Container.DataItem,"cnvcPicURL")%>'width="80"height="80">
-
</td>
-
<tdvalign="top">
-
<tablewidth="96%"border="0"cellpadding="0"cellspacing="0">
-
<trwidth="100%">
-
<tdcolspan="2"><imgsrc='<%#PageBase.strStyleRoot+"/picture/pic_fwzn_08.gif"%>'height="20"><%#DataBinder.Eval(Container.DataItem,"cnvcTitle")%>
-
<asp:Labelid="labFileType"runat="server"Visible=FalseText='<%#DataBinder.Eval(Container.DataItem,"cniFileTypeID")%>'>
-
</asp:Label></td>
-
</tr>
-
<tr>
-
<tdwidth="300">
-
<asp:DataListid="dlFileList"runat="server"RepeatColumns="1"Width="100%">
-
<ItemTemplate>
-
<TABLEcellSpacing="1"cellPadding="1"width="100%"border="0">
-
<tr>
-
<tdwidth="7%"height="20"align="center">
-
<imgsrc='<%#PageBase.strStyleRoot+"/picture/pic_fwzn_dot.gif"%>'width="3"height="3"></td>
-
<tdwidth="93%">
-
<fontcolor="#393939">
-
<%#GetTitle((string)Convert.ToString(DataBinder.Eval(Container.DataItem,"cnvcTitle")),(string)Convert.ToString(DataBinder.Eval(Container.DataItem,"cnvcFileType")),(string)Convert.ToString(DataBinder.Eval(Container.DataItem,"cniBaseFileID")),(DateTime)DataBinder.Eval(Container.DataItem,"cndtPublishTime"))%>
-
</font>
-
</td>
-
</tr>
-
</TABLE>
-
</ItemTemplate>
-
</asp:DataList>
-
</td>
-
</tr>
-
<tr>
-
<tdcolspan="2"bgcolor="E6E6E6"height="1"><imgsrc='<%#PageBase.strStyleRoot+"/picture/1X1.gif"%>'width="1"></td>
-
</tr>
-
<tralign="center">
-
<tdheight="22"colspan="2"><ahref="#"title="可查看到更多相关内容"><imgsrc='<%#PageBase.strStyleRoot+"/picture/more.gif"%>'width="34"height="11"border="0"></a></td>
-
</tr>
-
</table>
-
</td>
-
</tr>
-
</table>
-
</ItemTemplate>
-
</asp:datalist>
--------后台cs代码------
内层控件数据绑定与事件声明在外层的ItemDataBind中实现
-
privatevoiddlFileType_ItemDataBound(objectsender,System.Web.UI.WebControls.DataListItemEventArgse)
- {
-
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
- {
-
DataListdl=null;
-
LabellabTypeID=null;
-
-
dl=(DataList)e.Item.FindControl("dlFileList")
-
labTypeID=(Label)e.Item.FindControl("lbFileType");
-
stringtypeID=labTypeID.Text.ToString();
-
intiTypeID=Convert.ToInt32(typeID);
-
stringcommandText="select*fromtbfile";
-
commandText=commandText+"WhereTypeID="+iTypeID;
-
-
stringconnString=ConfigurationSettings.AppSettings["dsn"];
-
SqlConnectionconn=newSqlConnection();
- conn.ConnectionString=connString;
- conn.Open();
-
SqlDataAdaptermyCommand=newSqlDataAdapter(commandText,conn);
-
DataSetds=newDataSet();
-
myCommand.Fill(ds,"tbFile");
- conn.Close();
-
-
dl.DataSource=ds.Tables["tbFile"];;
- dl.DataBind();
- }
- }
分享到:
相关推荐
datalist 嵌套,多个datalist 嵌套,vs2008+sql2005datalist 嵌套,多个datalist 嵌套,vs2008+sql2005
DataList嵌套
一个DataList 嵌套DataList的例子,希望对各位有帮助。
DataList嵌套方案
datalist 中嵌套datalist,纯文本格式,非常小·
本文实例讲述了C#实现DataList里面嵌套DataList的折叠菜单。分享给大家供大家参考,具体如下: 点击前效果图如下: 点击后效果图如下: 具体实现代码如下: Javascript脚本 [removed] function showmenu(id) { ...
详细的讲解了DataList控件的嵌套,让你轻松掌握DataList的嵌套
自己写的repeater嵌套datalist例子,也可以repeater嵌套repeater
datalist中嵌套的hyperlink数据绑定
用C#语言编写的能嵌套datalist的分页控件,很实用,支持AJAX。 参数传递形式是PagerPartsReview1.getData(datatable,一页显示多少条, 父datalist, 父datalist.datakeyfield, 子datalist,子datalist.datakeyfield);...
Repeater DataList GridView的嵌套用法,论坛上有很多人想知道嵌套的用法。我总结了这三种控件的嵌套,以供参考。http://blog.csdn.net/greatverve/archive/2008/12/25/3600912.aspx我的网址:www.0379zd.com
仅供参考~ 如有雷同~ 纯属巧合(o(∩_∩)o 哈哈)~
主要介绍了asp.net实现DataList与Repeater嵌套绑定的方法,结合实例形式分析了DataList与Repeater的步骤与相关实现技巧,需要的朋友可以参考下
gridview嵌套Datalist,做论坛,或者学习,练习最好了
实现嵌套中的gridview单元格修改 datalist嵌套gridview,
DataGrid中嵌套DataGrid,修改后也适用DataGrid中嵌套DataList,DataList中嵌套DataList
两个repeater嵌套功能;两个repeater嵌套功能