asp.net Repeater显示父子表数据,无闪烁
asp.net Repeater显示父子表数据,无闪烁
发布时间:2016-12-29 来源:查字典编辑
摘要:效果图如下:源代码如下:复制代码代码如下: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教程学习
热门asp.net教程学习
编程开发子分类