All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
Repeater控件实例应用

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 1:39:51 Browse times: 390 Comment times: 0

Repeater控件实例应用


Head photo

Go homepage
Upload pictures
Write articles

Repeater控件实例应用

Repeater控件实例应用
在开发网站时,常常需要在页面中比较全面的显示一些信息,但如果要显示的信息记录较多,用一个页面显示所有记录,可能给用户的浏览带来不便。为了解决这个问题,开发人员可以使用分页技术来限定一个页面中显示的记录数。本实例主要是通过使用Repeater控件的分页技术显示员工信息,实例运行结果如图1所示。

图1 分页显示员工信息
程序开发步骤如下所示。
(1)新建一个网站,将其命名为Ex22_03,默认主页名为Default.aspx。
(2)Default.aspx页面涉及的控件如表1所示。

表1 Default.aspx页面用到的控件
(3)主要程序代码如下。
Default.aspx页面在初始化时,调用自定义方法DBBind,对Repeater控件进行数据绑定并实现分页功能,Default.aspx页Page_Load事件代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
DBBind();
}
自定义方法DBBind,主要是用来从数据库中查询出符合指定条件的记录,并绑定到Repeater控件中,然后通过设置PagedDataSource类对象的AllowPaging属性值为True,实现Repeater控件的分页功能。DBBind方法关键代码如下:
public void DBBind()
{
int curpage = Convert.ToInt32(this.labPage.Text);
PagedDataSource ps = new PagedDataSource();
SqlConnection myConn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"].ToString());
myConn.Open();
string sqlStr = "select * from tb_Employee";
SqlDataAdapter myAdapter = new SqlDataAdapter(sqlStr, myConn);
DataSet ds = new DataSet();
myAdapter.Fill(ds);
ps.DataSource = ds.Tables[0].DefaultView;
ps.AllowPaging = True; //是否可以分页网站源代码
ps.PageSize = 2;//显示的数量
ps.CurrentPageIndex = curpage - 1;//取得当前页的页码
this.lnkbtnUp.Enabled = True;
this.lnkbtnNext.Enabled = True;
this.lnkbtnBack.Enabled = True;
this.lnkbtnOne.Enabled = True;
if (curpage == 1)
{
this.lnkbtnOne.Enabled = False;//不显示第一页按钮
this.lnkbtnUp.Enabled = False;//不显示上一页按钮
}
if (curpage == ps.PageCount)
{
this.lnkbtnNext.Enabled = False;//不显示下一页
this.lnkbtnBack.Enabled = False;//不显示最后一页
}
this.labBackPage.Text = Convert.ToString(ps.PageCount);
this.Repeater1.DataSource = ps;
this.Repeater1.DataBind();
myConn.Close();
}
当用户单击用于操作分页的LinkButton控件时,程序根据当前页码执行指定操作。用于控制分页的LinkButton控件的Click事件代码如下:
//第一页
protected void lnkbtnOne_Click(object sender, EventArgs e)
{//本教程来自:HTTP://www.isstudy.com
this.labPage.Text = "1";
this.DBBind();
}
//上一页
protected void lnkbtnUp_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1);
this.DBBind();
}
//下一页
protected void lnkbtnNext_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1);
this.DBBind();
}
//最后一页
protected void lnkbtnBack_Click(object sender, EventArgs e)
{
this.labPage.Text = this.labBackPage.Text;
this.DBBind();
}
完整程序代码如下:
★ ★★★★Default.aspx页面设计文件完整程序代码★★★★★
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>



无标题页












There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.