Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 1:37:20
asp.net2.0控件DataList实例应用

asp.net2.0控件DataList实例应用

DataList控件实例应用

在网站开发中,经常需要使用DataList控件显示具有主次结构的数据。本实例中,通过在DataList控件中嵌套一个DataList控件来根据员工姓名显示员工的详细信息。实例运行结果如图1所示。



图1 使用DataList控件显示具有主次结构的数据

程序开发步骤如下所示。

(1)新建一个网站,将其命名为Ex22_02,默认主页名为Default.aspx。

(2)Default.aspx页面涉及的控件如表2所示。



表2 Default.aspx页面用到的控件

(3)主要程序代码如下。

在HTML源设计视图中对嵌套的DataList控件进行数据绑定,将其DataSource属性设置为建立的表间关系,同时将其DataKeyField属性设置为建立表间关系时所依据的数据表字段,实现代码如下:





在Default.aspx页的Page_Load事件中,首先从数据表中检索数据,同时取得要显示的主数据和从数据,填充到DataSet中,然后根据用户姓名创建DataRelation对象,并通过使用数据绑定方法将相关信息绑定到DataList控件中。Default.aspx页Page_Load事件代码如下网站源代码

protected void Page_Load(object sender, EventArgs e)

{//本教程来自:http://www.isstudy.com

SqlConnection myConn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"].ToString());

string sqlStr = "select top 3* from tb_EmpID select top 3a.*,b.UserID from tb_Employee as a inner join tb_EmpID as b on a.UserID=b.UserID";

SqlDataAdapter myda = new SqlDataAdapter(sqlStr, myConn);

DataSet myds = new DataSet();

myConn.Open();

myda.Fill(myds);

myds.Tables[0].TableName = "tb_EmpID";

myds.Tables[1].TableName = "tb_Employee";

DataColumn Parent = myds.Tables["tb_EmpID"].Columns["UserLoginName"];

DataColumn Child = myds.Tables["tb_Employee"].Columns["UserLoginName"];

DataRelation tableRelation = new DataRelation("tableRelation", Parent, Child, False);

myds.Relations.Add(tableRelation);

DataList1.DataSource = myds.Tables["tb_EmpID"].DefaultView;

DataList1.DataBind();

myConn.Close();

}

完整程序代码如下:

★ ★★★★Default.aspx页面设计文件完整程序代码★★★★★

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>







DataList实现主细表















员工详细信息





















员工姓名:<%# DataBinder.Eval(Container.DataItem, "UserLoginName")%>













If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759