手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net Repeater显示父子表数据,无闪烁
asp.net Repeater显示父子表数据,无闪烁
摘要:效果图如下:源代码如下:复制代码代码如下:usingSystem;usingSystem.Data;usingSystem.Configur...

效果图如下:

asp.net Repeater显示父子表数据,无闪烁1

源代码如下:

复制代码 代码如下:

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

namespace RepeaterTest

{

public partial class Repeater : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

this.bind();

}

}

private DataSet dataSource

{

get

{

if (ViewState["ds"] != null)

{

return (DataSet)ViewState["ds"];

}

else

{

DataSet ds = DataSource.GetDataSet();

ViewState["ds"] = ds;

return ds;

}

}

}

private void bind()

{

DataSet ds = this.dataSource;

this.Repeater1.DataSource = ds.Tables["tbclass"];

this.Repeater1.DataBind();

this.Repeater2.DataSource = ds.Tables["tbclass"];

this.Repeater2.DataBind();

}

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)

{

if (e.CommandName == "expand")

{

LinkButton btn = (LinkButton)e.CommandSource;

GridView grid =(GridView)btn.Parent.FindControl("grid1");

if (btn.Text == "+")

{

btn.Text = "-";

grid.Visible = true;

}

else

{

btn.Text = "+";

grid.Visible = false;

}

}

}

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)

{

DataTable dt = this.dataSource.Tables["tbstu"];

LinkButton objButton = (LinkButton)e.Item.FindControl("btnExpand");

if (objButton != null && objButton.CommandArgument !="")

{

string classID = objButton.CommandArgument;

dt.DefaultView.RowFilter = "ClassID=" + classID;

DataTable dtStu = dt.DefaultView.ToTable();

GridView grid = (GridView)e.Item.FindControl("grid1");

grid.DataSource = dtStu;

grid.DataBind();

}

}

protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)

{

DataTable dt = this.dataSource.Tables["tbstu"];

Label objlbl = (Label)e.Item.FindControl("lblclassid");

if (objlbl != null && objlbl.Text != "")

{

string classID = objlbl.Text;

dt.DefaultView.RowFilter = "ClassID=" + classID;

DataTable dtStu = dt.DefaultView.ToTable();

GridView grid = (GridView)e.Item.FindControl("grid2");

grid.DataSource = dtStu;

grid.DataBind();

}

}

}

}

文件打包下载RepeaterTest.rar

有用得着的同志可以参考..

【asp.net Repeater显示父子表数据,无闪烁】相关文章:

asp.net ListView 数据绑定

asp.net显示页面执行时间

asp.net Repeater绑定时使用函数

Asp.Net 通用数据操作类 (附通用数据基类)第1/2页

Ajax.net 显示错误信息的设置

Asp.net怎么导出Excel/Csv文本格式数据?

asp (author:killer)禁止站外提交表单的代码

asp.net SqlHelper数据访问层的使用

axp.net ScriptManager的简单用法

asp.net Timer的使用方法

精品推荐
分类导航