asp.net Repeater顯示父子表數(shù)據(jù),無閃爍
源代碼如下:
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下Repeater使用 AspNetPager分頁控件
- asp.net Repeater 數(shù)據(jù)綁定代碼
- JQuery實(shí)現(xiàn)Repeater無刷新批量刪除(附后臺(tái)asp.net源碼)
- asp.net中讓Repeater和GridView支持DataPager分頁
- ASP.NET repeater添加序號(hào)列的方法
- ASP.NET筆記之 Repeater的使用
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)(圖文詳解)
- ASP.NET數(shù)據(jù)綁定之Repeater控件
相關(guān)文章
IIS實(shí)現(xiàn)反向代理時(shí)Cookie域的設(shè)置方法
這篇文章主要給大家介紹了關(guān)于IIS實(shí)現(xiàn)反向代理時(shí)Cookie域的設(shè)置方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04數(shù)據(jù)庫開發(fā)總結(jié)(ADO.NET小結(jié))
數(shù)據(jù)庫開發(fā)總結(jié)(ADO.NET小結(jié))...2006-12-12模擬HTTP請求實(shí)現(xiàn)網(wǎng)頁自動(dòng)操作及數(shù)據(jù)采集的方法
下面小編就為大家?guī)硪黄MHTTP請求實(shí)現(xiàn)網(wǎng)頁自動(dòng)操作及數(shù)據(jù)采集的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03ASP.NET中防止頁面刷新造成表單重復(fù)提交執(zhí)行兩次操作
本文主要介紹在Session存儲(chǔ)唯一標(biāo)識(shí)Token,通過和后臺(tái)對比,以實(shí)現(xiàn)防止刷新提交表單的問題。2016-04-04asp.net程序優(yōu)化 盡量減少數(shù)據(jù)庫連接操作
最近做一個(gè)項(xiàng)目,做的比較郁悶,現(xiàn)在把項(xiàng)目經(jīng)驗(yàn)總結(jié)在這里。項(xiàng)目的主要功能就是為第三方程序提供數(shù)據(jù),并根據(jù)客戶端的調(diào)用提供數(shù)據(jù)更新。我的程序?qū)儆诜?wù)端。服務(wù)端以站點(diǎn)形式部署,以Xml的數(shù)據(jù)格式輸出2012-05-05asp.net C#實(shí)現(xiàn)下載文件的六種方法實(shí)例
asp.net C#實(shí)現(xiàn)下載文件的六種方法實(shí)例,需要的朋友可以參考一下2013-04-04.NET+PostgreSQL實(shí)踐與避坑指南(推薦)
這篇文章主要介紹了.NET+PostgreSQL實(shí)踐與避坑指南,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01.net 獲取瀏覽器Cookie(包括HttpOnly)實(shí)例分享
這篇文章介紹了.net 獲取瀏覽器Cookie(包括HttpOnly)實(shí)例,有需要的朋友可以參考一下2013-10-10