Repeater控件的嵌套使用自定义分页及加链接样式制定源代码.docx
- 文档编号:11129289
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:8
- 大小:16.76KB
Repeater控件的嵌套使用自定义分页及加链接样式制定源代码.docx
《Repeater控件的嵌套使用自定义分页及加链接样式制定源代码.docx》由会员分享,可在线阅读,更多相关《Repeater控件的嵌套使用自定义分页及加链接样式制定源代码.docx(8页珍藏版)》请在冰豆网上搜索。
Repeater控件的嵌套使用自定义分页及加链接样式制定源代码
Repeater控件的嵌套使用、自定义分页及加链接,样式制定源代码
Repeater控件自定义分页及加链接,样式制定源代码。
.cs文件代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclass_Default:
System.Web.UI.Page
...{
protectedvoidPage_Load(objectsender,EventArgse)
...{
if(!
IsPostBack)
...{
myRepeater.DataSource=pds();
//为Repeater1控件指定数据源
myRepeater.DataBind();
//这个当然是必须的,绑定上去
}
}
privatePagedDataSourcepds()
...{
SqlConnectionmyconn=newSqlConnection("DataSource=192.168.201.108;InitialCataLog=陈乐斌;UserID=sa;Password=yttvmedia");
myconn.Open();
SqlDataAdapterda=newSqlDataAdapter("selectid,username,password,email,tel,agefrom[user]orderbyiddesc",myconn);
DataSetds=newDataSet();
da.Fill(ds,"user");
SqlDataAdapterda2=newSqlDataAdapter("selectclassid,classname,teachername,id,time,score,slevelfrom[class]",myconn);
da2.Fill(ds,"class");
ds.Relations.Add("myrela",ds.Tables["user"].Columns["id"],ds.Tables["class"].Columns["id"]);
//为上面建立的两个表创建一个关系,指明父列和子列的名称并为他们的关系命名
PagedDataSourcepds=newPagedDataSource();
//初始化一个PagedDataSource,允许控件分页
pds.DataSource=ds.Tables["user"].DefaultView;
//将上面的ds转换成标准数据视图
pds.AllowPaging=true;
//允许分页
pds.PageSize=5;
//每页大小为5
pds.CurrentPageIndex=Convert.ToInt32(Request.QueryString["page"]);
//设置当前页
returnpds;
//将处理完毕的pds对象发出去
}
protectedvoidmyRepeater_ItemDataBound(objectsender,RepeaterItemEventArgse)
...{
if(e.Item.ItemType==ListItemType.Footer)
...{//判断当前项是页脚模板
intn=pds().PageCount;//将分页总数赋给变量n
inti=pds().CurrentPageIndex;//将当前分页码赋给i
Labellblpc=(Label)e.Item.FindControl("lblpc");
lblpc.Text=n.ToString();
//找到lblpc这个Label,将总页码赋给他
Labellblp=(Label)e.Item.FindControl("lblp");
lblp.Text=Convert.ToString(pds().CurrentPageIndex+1);
//找到lblp这个Label,将当前页码赋给他,但是注意,因为页码从0开始,这里要直观的话就得加1
HyperLinkhlfir=(HyperLink)e.Item.FindControl("hlfir");
hlfir.NavigateUrl="?
page=0";
HyperLinkhlla=(HyperLink)e.Item.FindControl("hlla");
hlla.NavigateUrl="?
page="+Convert.ToInt32(n-1);
//找到表示最前页和末页的Label,为他们的NavigateUrl属性赋为第0页和最大页码减1
HyperLinkhlp=(HyperLink)e.Item.FindControl("hlp");
HyperLinkhln=(HyperLink)e.Item.FindControl("hln");
//找到表示上页和下页这两个控件
if(i<=0)
...{//如果当前页已经是第0页
hlfir.Enabled=false;
hlp.Enabled=false;
hln.Enabled=true;
}
else
...{
hlp.NavigateUrl="?
page="+Convert.ToInt32(i-1);
}
if(i>n-2)
...{//如果当前项已经是最末页
hln.Enabled=false;
hlla.Enabled=false;
hlp.Enabled=true;
}
else
...{
hln.NavigateUrl="?
page="+Convert.ToInt32(i+1);
}
DropDownListddlpage=(DropDownList)e.Item.FindControl("ddlpage");
for(intp=0;p ...{ ddlpage.Items.Add(Convert.ToString(p+1)); if(p==i) ...{ ddlpage.SelectedIndex=p; } } } } protectedvoidddl_SelectedChanged(objectsender,EventArgse) ...{ DropDownListddl=(DropDownList)sender; Page.Response.Redirect("? page="+(Convert.ToInt32(ddl.SelectedItem.Value)-1)); } } aspx文件: <%@PageLanguage="C#"AutoEventWireup="true" CodeFile="Default.aspx.cs"Inherits="_Default"%> <%@ImportNamespace="System.Data"%> DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http: //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> //www.w3.org/1999/xhtml">
RepeaterID="myRepeater"runat="server"OnItemDataBound="myRepeater_ItemDataBound"> #DFA894"> 30px"> 编号 姓名 密码 年龄
电话
邮箱
8px">
<%#DataBinder.Eval(Container.DataItem,"id")%>
<%#DataBinder.Eval(Container.DataItem,"username")%>
<%#DataBinder.Eval(Container.DataItem,"password")%>
<%#DataBinder.Eval(Container.DataItem,"age")%>
<%#DataBinder.Eval(Container.DataItem,"tel")%>
<%#Eval("email")%>"><%#DataBinder.Eval(Container.DataItem,"email")%>
RepeaterID="myRepeater2"runat="server"DataSource='<%#((DataRowView)Container.DataItem).Row.GetChildRows("myrela")%>'> 8px">
9pt"> <%#DataBinder.Eval(Container.DataItem,"["classname"]")%> 9pt"> <%#DataBinder.Eval(Container.DataItem,"["teachername"]")%> 9pt"> <%#DataBinder.Eval(Container.DataItem,"["time"]")%> 9pt"> <%#DataBinder.Eval(Container.DataItem,"["score"]")%> 9pt"> <%#DataBinder.Eval(Container.DataItem,"["slevel"]")%>
Repeater>
#000099;"> <%#Eval("id")%> #000099;"> <%#Eval("username")%> #000099;"> <%#Eval("password")%> #000099;"> <%#Eval("age")%> #000099;"> <%#Eval("tel")%> #000099;"> <%#Eval("email")%>"><%#Eval("email")%>
RepeaterID="myRepeater2"runat="server"DataSource='<%#((DataRowView)Container.DataItem).Row.GetChildRows("myrela")%>'> 8px">
#000099; font-size: 9pt"> <%#DataBinder.Eval(Container.DataItem,"["classname"]")%> #000099;font-size: 9pt"> <%#DataBinder.Eval(Container.DataItem,"["teachername"]")%> #000099;font-size: 9pt"> <%#DataBinder.Eval(Container.DataItem,"["time"]")%> #000099;font-size: 9pt"> <%#DataBinder.Eval(Container.DataItem,"["score"]")%> #000099;font-size: 9pt"> <%#DataBinder.Eval(Container.DataItem,"["slevel"]")%>
Repeater>
15px;"> 1pt;"/>
8px">
9pt;color: #0099ff;background-color: #e6feda;">共 LabelID="lblpc"runat="server"Text="Label"> Label>页 当前为第 LabelID="lblp"runat="server"Text="Label"> Label>页 HyperLinkID="hlfir"runat="server"Text="首页"> HyperLink> HyperLinkID="hlp"runat="server"Text="上一页"> HyperLink> HyperLinkID="hln"runat="server"Text="下一页"> HyperLink> HyperLinkID="hlla"runat="server"Text="末页"> HyperLink> 跳转到 DropDownListID="ddlpage"runat="server"AutoPostBack="true"OnSelectedIndexChanged="ddl_SelectedChanged"> DropDownList>
Repeater>