036. asp.netWeb用户控件之五使用用户控件实现分页数据导航
UserDataPager.ascx用户控件代码:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserDataPager.ascx.cs" Inherits="UserDataPager" %>
<style type="text/css">
.style8
{
}
.style11
{
width: 249px;
font-size: small;
}
</style>
<table cellpadding="0" cellspacing="0" style="border: 1px solid #999999; font-size: small; height: 25px; width: 403px;"
bgcolor="#F2F2F2">
<tr>
<td style="text-align: center" class="style11">
共有数据<asp:Label ID="lbldatanum" runat="server" ForeColor="Red"></asp:Label>
条 每页<asp:Label ID="lblnum" runat="server" ForeColor="Red"></asp:Label>
条 第<asp:Label ID="lblCurrentPage" runat="server" ForeColor="Red"></asp:Label>
页/共<asp:Label ID="lblcount" runat="server" Font-Size="9pt" ForeColor="Red"></asp:Label>
页</td>
<td style="text-align: center" class="style8">
<asp:LinkButton ID="lbtnFirst" runat="server" Font-Size="9pt"
onclick="lbtnFirst_Click" Enabled="False">|<</asp:LinkButton>
<asp:LinkButton ID="lbtnForward" runat="server" Font-Size="9pt"
onclick="lbtnForward_Click" Enabled="False"><</asp:LinkButton>
<asp:LinkButton ID="lbtnBackwards" runat="server" Font-Size="9pt"
onclick="lbtnBackwards_Click">></asp:LinkButton>
<asp:LinkButton ID="lbtnLast" runat="server" Font-Size="9pt"
onclick="lbtnLast_Click">>|</asp:LinkButton>
</td>
</tr>
</table>
UserDataPager.ascx.cs代码:
public partial class UserDataPager : System.Web.UI.UserControl
{
protected static PagedDataSource pds = new PagedDataSource();//创建一个分页数据源的对象且一定要声明为静态
private SqlConnection conn; private object operateID;
public object OperateID
{
get { return operateID; }
set { operateID = value; }
}
private int pageNum=;
public int PageNum
{
get { return pageNum; }
set { pageNum = value; }
}
private string strSQL = "";
public string StrSQL
{
get { return strSQL; }
set { strSQL = value; }
}
private string sql = "";
public string DataSQL
{
get { return sql; }
set { sql = value; }
} private void BindDataList(int currentpage)
{
string mytype = operateID.GetType().ToString();
mytype = mytype.Substring(mytype.LastIndexOf(".") + , mytype.Length - - mytype.LastIndexOf("."));
conn = new SqlConnection(strSQL);
pds.AllowPaging = true;//允许分页
pds.PageSize = pageNum;//每页显示3条数据
pds.CurrentPageIndex = currentpage;//当前页为传入的一个int型值
conn.Open();//打开数据库连接
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);//把执行得到的数据放在数据集中
pds.DataSource = ds.Tables[].DefaultView;//把数据集中的数据放入分页数据源中
lblcount.Text = pds.PageCount.ToString();
lblCurrentPage.Text =(pds.CurrentPageIndex + ).ToString();
lblnum.Text = pageNum.ToString();
lbldatanum.Text = ds.Tables[].Rows.Count.ToString();
if (pds.PageCount > )
{
lbtnBackwards.Enabled = true;
lbtnLast.Enabled = true;
}
else
{
lbtnBackwards.Enabled = false;
lbtnLast.Enabled = false;
}
if (mytype == "GridView")
{
((GridView)(operateID)).DataSource = pds;
((GridView)(operateID)).DataBind();
}
else if (mytype == "DataList")
{
((DataList)(operateID)).DataSource = pds;
((DataList)(operateID)).DataBind();
}
conn.Close();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDataList();
}
}
protected void lbtnFirst_Click(object sender, EventArgs e)//首页
{
pds.CurrentPageIndex = ;
BindDataList(pds.CurrentPageIndex);
lbtnFirst.Enabled = false;
lbtnForward.Enabled = false;
lbtnBackwards.Enabled = true;
lbtnLast.Enabled = true; }
protected void lbtnForward_Click(object sender, EventArgs e)//上一页
{
if (pds.CurrentPageIndex >= )
{
pds.CurrentPageIndex = pds.CurrentPageIndex - ;
BindDataList(pds.CurrentPageIndex);
lbtnBackwards.Enabled = true;
lbtnLast.Enabled = true;
if (pds.CurrentPageIndex == )
{
lbtnForward.Enabled = false;
lbtnFirst.Enabled = false;
}
}
}
protected void lbtnBackwards_Click(object sender, EventArgs e)//下一页
{
if (pds.CurrentPageIndex <= pds.PageCount - )
{
lbtnFirst.Enabled = true;
lbtnForward.Enabled = true;
pds.CurrentPageIndex = pds.CurrentPageIndex + ;
BindDataList(pds.CurrentPageIndex);
if (pds.CurrentPageIndex == pds.PageCount - )
{
lbtnBackwards.Enabled = false;
lbtnLast.Enabled = false;
}
}
}
protected void lbtnLast_Click(object sender, EventArgs e)//尾页
{
pds.CurrentPageIndex = pds.PageCount - ;
BindDataList(pds.CurrentPageIndex);
lbtnLast.Enabled = false;
lbtnBackwards.Enabled = false; lbtnFirst.Enabled = true;
lbtnForward.Enabled = true;
}
}
Default.aspx代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register src="UserDataPager.ascx" tagname="UserDataPager" tagprefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<style type="text/css">
.style7
{
width: 100%;
height: 42px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div style="width: 1019px; text-align: center; height: 54px;"> <table align="center" cellpadding="0" cellspacing="0" class="style7">
<tr>
<td style="text-align: left">
<uc1:UserDataPager ID="UserDataPager1" runat="server" />
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table> </div>
<asp:GridView ID="GridView1" runat="server" BackColor="White"
BorderColor="#CCCCCC" BorderStyle="Ridge" BorderWidth="1px"
CellPadding="3" Width="403px">
<RowStyle ForeColor="#000066" />
<FooterStyle BackColor="White" ForeColor="#000066" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
</asp:GridView>
</form>
</body>
</html>
Default.aspx.cs代码:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
UserDataPager1.OperateID = GridView1; //设置针对哪个控件进行分页描述
UserDataPager1.StrSQL = "server=.;uid=sa;pwd=123.456;database=TYW;";//设置链接字符串
UserDataPager1.DataSQL = "select * from card";
UserDataPager1.PageNum = 6;
}
}
最终效果:
036. asp.netWeb用户控件之五使用用户控件实现分页数据导航的更多相关文章
- 037. asp.netWeb用户控件之五使用用户控件实现文件上传功能
fileUpload.ascx代码: <%@ Control Language="C#" AutoEventWireup="true" CodeFile= ...
- 033. asp.netWeb用户控件之二将页面转换成web控件和使用Web控件显示热点新闻
访问Web用户控件的属性 ASP.NET提供的各种服务器控件都有其自身的属性和方法,程序开发人员可以灵活地使用服务器控件中的属性和方法开发程序.在用户控件中,程序开发人员也可以自行定义各种属性和方法, ...
- ASP.NET MVC中加载WebForms用户控件(.ascx)
原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControl ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- JS获取用户控件中的子控件Id
用户控件 <asp:HiddenField ID="hfGradeId" runat="server" /> <asp:HiddenField ...
- asp.net web 开发登录相关操作的控件LoginName、LoginStatus和LoginView控件使用详解
http://book.51cto.com/art/200909/154039.htm http://book.51cto.com/art/200909/154041.htm ASP.NET提供了一套 ...
- ASP.NET MVC显示WebForm网页或UserControl控件
ASP.NET MVC显示WebForm网页或UserControl控件 学习与使用ASP.NET MVC这样久,还是对asp.net念念不忘.能否在asp.net mvc去显示aspx或是user ...
- 念念不忘,ASP.NET MVC显示WebForm网页或UserControl控件
学习与使用ASP.NET MVC这样久,还是对asp.net念念不忘.能否在asp.net mvc去显示aspx或是user control呢?这个灵感(算不上灵感,只能算是想法)是来自前些天有写过一 ...
- 【Asp.net之旅】--因自己定义控件注冊而引发的思考
前言 近期在开发远洋的SOA系统平台,开发使用的是.NET平台.对于Asp.net并不困难,但该系统的开发并非全然依靠Asp.net.而是自身封装好的框架.这套框架是远洋地产购买的微软的开发平台,项目 ...
随机推荐
- json 递归查找某个节点
一段json可能有很多的子节点,需要查询到某一个节点 用到的js是 find-in-json.js 地址是:https://gist.github.com/iwek/3924925 貌似翻|||墙才能 ...
- HR函数学习02——分配组织单位
REPORT ZLYHR01. "创建组织单元 成功 DATA:LS_OBJ TYPE OBJEC, LV_STU TYPE GDSTR-SVECT, LV_TIT TYPE CHAR20, ...
- OLE填充EXCEL 多SHEET
"1 设置行高 "参数说明:行/列号.行高/列宽.R-行 C-列 FORM row_column USING p_r p_width p_type. CASE p_type. WH ...
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建 一.实现效果 说明:该示例在storyboard中使用动态单元格来完成. 二.实现 1.项目文件结构 ...
- EMS问题
如果EMS启动后在运行时报出 JMS error: "Not allowed to create destination这个错误,可能就是你启动方式的问题了 进入到EMS的安装目录的bin目 ...
- mybatis.net insert 返回主键
mybatis insert语句 <insert id="Add" parameterClass="UserInfo" resultClass=" ...
- eclipse真机调试显示Target unknown的解决方法
eclipse的android模拟器调试是个硬伤,非常非常卡,严重影响工作效率.个人推荐使用第三方模拟器Genymotion,不了解的可以搜索下安装.你会发现它真心好用,但需要官网注册的. 各种调试完 ...
- excel 两列 找出相同的值
excel 有A,B两列数值,要找出A,B两列中数值相同的值. 选中B列,格式——条件格式——公式 输入:=countif(A:A,B1) 在格式中可选择突出字体颜色 该函数的语法规则如下: co ...
- SharePoint 2013 开发——其他社交功能
博客地址:http://blog.csdn.net/FoxDave 上一篇讲了如何获取用户配置文件的相关属性,它属于SharePoint 2013社交功能的一个小的构成部分.社交功能是SharePoi ...
- (zz) 谷歌技术"三宝"之BigTable
006年的OSDI有两篇google的论文,分别是BigTable和Chubby.Chubby是一个分布式锁服务,基于Paxos算法:BigTable是一个用于管理结构化数据的分布式存储系统,构建在G ...