繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> .NET中DataList嵌套说明

.NET中DataList嵌套说明

2007-09-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:有时在我们进行数据绑定时,是可能需要进行嵌套绑定的,以显示主从关系的数据。即,一个DataList中嵌套一个子DataList,而子DataList的数据则是随主DataList的数据进行变化的。如下图所示: 1、我们先在页面中布...
关键字:.NET DataList

有时在我们进行数据绑定时,是可能需要进行嵌套绑定的,以显示主从关系的数据。即,一个DataList中嵌套一个子DataList,而子DataList的数据则是随主DataList的数据进行变化的。如下图所示:

1、我们先在页面中布置好两个DataList。并分别起名,dlsProductMenu,dlsProductInfo。如下:

Width="100%">

border="0">

<%# DataBinder.Eval(Container.DataItem,"Name") %>

border="0">

2、进行数据绑定。

(1)为主DataList绑定主数据。

DataSet ds = SqlDataProvider.GetMainInfo();//获取将要绑定的数据。

this.dlsProductMenu.DataSource = ds;

this.dlsProductMenu.DataBind();

(2)为子DataList绑定从数据。这也是该文的重点。

DataList嵌套的重点是要在外层DataList的ItemDataBound事件中完成对嵌套DataList的绑定。在主DataList的ItemDataBound事件中用e.Item.FindControl方法来找到嵌套层DataList的id,完后为该id绑定数据。比如:

private void dlsProductMenu_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)

{

if (e.Item.ItemType == ListItemType.Item||e.Item.ItemType == ListItemType.AlternatingItem)

{

DataList dataList = (DataList)e.Item.FindControl("dlsProductInfo");

DataRowView rowv = (DataRowView)e.Item.DataItem;

int mainID = Convert.ToInt32(rowv["Id"]);

if(mainID > 0)

{

DataSet ds = SqlDataProvider.GetSubContent(mainID);//获取从数据。

if(ds != null)

{

try

{

dataList.DataSource = ds;

dataList.DataBind();

}

catch(Exception ex)

{

throw new Exception(ex.Message);

}

}

}

}

}

责任编辑:admin
相关文章