存储过程:

GetProductsCount1:

GetProductsByPage:


CREATE PROCEDURE GetProductsByPage
@PageNumber int,
@PageSize int
AS
declare @sql nvarchar()
set @sql ='select top '+ Convert(varchar, @PageSize) +' * from test where id not in (select top '+ Convert(varchar, (@PageNumber -) * @PageSize) +' id from test)'
exec sp_executesql @sql
GO

前台代码:

代码

view plaincopy to clipboardprint?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2"%>
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer"%>

<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

Namespace="System.Web.UI" TagPrefix="asp"%>

<!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>

<mce:style type="text/css"><!--

.lbtnstyle{
font-size: 12px; color: black; text-
decoration: none;color:red;
}
.anpager .cpb {background:#1F3A87 none repeat scroll ;border:1px solid #CCCCCC;color:#FFFFFF;font-weight:bold;margin:5px 4px ;padding:4px 5px ;font-
size:12px}
.anpager a {background:#FFFFFF none repeat scroll ;border:1px solid #CCCCCC;color:#1F3A87;margin:5px 4px ;padding:4px 5px ;text-decoration:none;font-
size:12px}
.anpager a:hover{background:#1F3A87 none repeat scroll
;border:1px solid #1F3A87;color:#FFFFFF;}

--></mce:style><style type="text/css" mce_bogus=""> .lbtnstyle{
font-size: 12px; color: black; text-
decoration: none;color:red;
}
.anpager .cpb {background:#1F3A87 none repeat scroll ;border:1px solid #CCCCCC;color:#FFFFFF;font-weight:bold;margin:5px 4px ;padding:4px 5px ;font-
size:12px}
.anpager a {background:#FFFFFF none repeat scroll ;border:1px solid #CCCCCC;color:#1F3A87;margin:5px 4px ;padding:4px 5px ;text-decoration:none;font-
size:12px}
.anpager a:hover{background:#1F3A87 none repeat scroll
;border:1px solid #1F3A87;color:#FFFFFF;}
</style>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:ScriptManager ID="ScriptManager1" runat="server">

</asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">

<ContentTemplate>

<table>

<tr>

<td width="">

<asp:TextBox ID="txtname" runat="server"></asp:TextBox>

</td>

<td width="">

<asp:Button ID="btninsert" runat="server" Text="添加行"/>

</td>

</tr>

<tr>

<td colspan="">

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="450px" CellPadding="" ForeColor="#333333" GridLines="None" style="font-size:12px" mce_style="font-size:12px" OnRowDataBound="GridView1_RowDataBound1">

<Columns>

<asp:TemplateField>

<HeaderTemplate>

ID
</HeaderTemplate>

<EditItemTemplate><asp:TextBox ID="txtid" runat="server" Text='<%#Eval("id") %>' Enabled="false"></asp:TextBox></EditItemTemplate>

<ItemTemplate><asp:Label ID="labid" runat="server" Text='<%# Eval("id") %>'></asp:Label></ItemTemplate>

<ControlStyle Width="170px"/>

</asp:TemplateField>

<asp:TemplateField>

<HeaderTemplate>

名称
</HeaderTemplate>

<EditItemTemplate><asp:TextBox ID="txtname" runat="server" Text='<%#Eval("name") %>'></asp:TextBox></EditItemTemplate>

<ItemTemplate><asp:Label ID="labname" runat="server" Text='<%# Eval("name") %>'></asp:Label></ItemTemplate>

<ControlStyle Width="170px"/>

</asp:TemplateField>

<asp:TemplateField>

<EditItemTemplate>

<asp:LinkButton ID="lbtnupdt" runat="server" CommandName="Update" Text="更新"class="lbtnstyle" OnClientClick="return confirm('确定更新?');"></asp:LinkButton>

<asp:LinkButton ID="lbtncan" runat="server" CommandName="Cancel" Text="取消"class="lbtnstyle"></asp:LinkButton>

</EditItemTemplate>

<ItemTemplate>

<asp:LinkButton ID="lbtnedit" CommandName="Edit" runat="server" Text="编辑"class="lbtnstyle"></asp:LinkButton>

<asp:LinkButton ID="lbtndel" CommandName="Delete" runat="server" Text="删除"class="lbtnstyle" OnClientClick="return confirm('确定删除?');"></asp:LinkButton>

</ItemTemplate>

</asp:TemplateField>

</Columns>

<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White"/>

<RowStyle BackColor="#EFF3FB"/>

<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center"/>

<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333"/>

<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White"/>

<EditRowStyle BackColor="#2461BF"/>

<AlternatingRowStyle BackColor="White"/>

</asp:GridView>

</td>

</tr>

<tr>

<td colspan="" align="right">

<webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="anpager" CurrentPageButtonClass="cpb" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页">

</webdiyer:AspNetPager>

</td>

</tr>

</table>

</ContentTemplate>

</asp:UpdatePanel>

</div>

</form>

</body>

</html>

后台代码:

代码

private SqlConnection con;
int currentPageNumber;//当前页号

int pageSize =;//每页显示记录条数
protectedvoid Page_Load(object sender, EventArgs e)
{
if (!
IsPostBack)
{
currentPageNumber =
;
ViewState["currentPageNumber"] =
currentPageNumber;
getbind();
}
//注册事件

GridView1.RowDeleting +=new GridViewDeleteEventHandler(GridView1_RowDeleting);
GridView1.RowEditing +=new
GridViewEditEventHandler(GridView1_RowEditing);
GridView1.RowUpdating +=new
GridViewUpdateEventHandler(GridView1_RowUpdating);
GridView1.RowCancelingEdit +=new
GridViewCancelEditEventHandler(GridView1_RowCancelingEdit);
btninsert.Click +=new
EventHandler(btninsert_Click);
AspNetPager1.PageChanged +=new
EventHandler(AspNetPager1_PageChanged);

}
//分页事件

void AspNetPager1_PageChanged(object sender, EventArgs e)
{
currentPageNumber=
AspNetPager1.CurrentPageIndex;
ViewState["currentPageNumber"] =
currentPageNumber;
getbind();
}
//添加一行数据事件

void btninsert_Click(object sender, EventArgs e)
{
string sql ="insert into test (name)values('"+ txtname.Text +"')"
;
con =new SqlConnection("Server=.;DataBase=JobWanted Apartment;Uid=sa;pwd="
);
SqlCommand cmd =new
SqlCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
getbind();
}
//取消GridView编辑

void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{

GridView1.EditIndex =-;
getbind();
}
//GridView修改事件

void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string sql ="update test set name='"+ (((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtname")).Text) +"' where id='"+Convert.ToInt32(((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtid")).Text)+"' "
;
con =new SqlConnection("Server=.;DataBase=JobWanted Apartment;Uid=sa;pwd="
);
SqlCommand cmd =new
SqlCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
GridView1.EditIndex =-
;
getbind();
}
//GridView编辑事件

void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex =
e.NewEditIndex;
getbind();
}
//GridView删除行事件

void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sql ="delete from test where id='"+ Convert.ToInt32(((Label)GridView1.Rows[e.RowIndex].FindControl("labid")).Text) +"'"
;
con =new SqlConnection("Server=.;DataBase=JobWanted Apartment;Uid=sa;pwd="
);
SqlCommand cmd =new
SqlCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
getbind();
}
//GridView数据绑定

privatevoid getbind()
{
currentPageNumber =Convert.ToInt32( ViewState["currentPageNumber"
]);
con =new SqlConnection("Server=.;DataBase=JobWanted Apartment;Uid=sa;pwd="
);
SqlCommand cmd =new SqlCommand("GetProductsCount1"
, con);
cmd.CommandType =
CommandType.StoredProcedure;
SqlCommand cmd1 =new SqlCommand("GetProductsByPage"
, con);
cmd1.CommandType=
CommandType.StoredProcedure;
cmd1.Parameters.Add("@PageNumber", SqlDbType.Int, ).Value =
currentPageNumber;
cmd1.Parameters.Add("@PageSize", SqlDbType.Int, ).Value =
pageSize;
con.Open();
DataTable dt =new
DataTable();
SqlDataAdapter adapter =new
SqlDataAdapter(cmd1);
adapter.Fill(dt);
//AspNetPager1.PageSize = 10;//设置每页显示的行数

AspNetPager1.RecordCount = (int)cmd.ExecuteScalar();//得出总的记录条数
AspNetPager1.CurrentPageIndex = currentPageNumber;
GridView1.DataSource =
dt;
GridView1.DataBind();
}
//GridView高亮行显示

protectedvoid GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType ==
DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor,this.style.backgroundColor='#C7DEF3'"
);
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c"
);
}
}

转载:http://blog.csdn.net/weng2961389/archive/2010/03/04/5346063.aspx

CREATE PROCEDURE GetProductsCount1 AS
select count(*) from test
GO

Gridview各种功能+AspNetPager+Ajax实现无刷新存储过程分页 (留着用)的更多相关文章

  1. jQuery+php+ajax实现无刷新上传文件功能

    jQuery+php+ajax实现无刷新上传文件功能,还带有上传进度条动画效果,支持图片.视频等大文件上传. js代码 <script type='text/javascript' src='j ...

  2. 使用ajax实现无刷新改变页面内容

    如何使用ajax实现无刷新改变页面内容(也就是ajax异步请求刷新页面),下面通过一个小demo说明一下,前端页面代码如下所示 1 <%@ Page Language="C#" ...

  3. jsp+ajax实现无刷新

    jsp+ajax实现无刷新,鼠标离开文本框即验证用户名 jsp+ajax实现无刷新,鼠标离开文本框即验证用户名(本功能多用于注册) input.jsp(表单提交页面): %@ page content ...

  4. window.history.pushState与ajax实现无刷新更新页面url

    ajax能无刷新更新数据,但是不能更新url HTML5的新API: window.history.pushState, window.history.replaceState 用户操作history ...

  5. Ajax 实现无刷新分页

    Ajax 实现无刷新分页

  6. Ajax 实现无刷新页面

    注意:如本文所用,在前面的文章库的数目可以在源代码中找到,我将指示在文本,其中链路,为了缩短制品的长度,阅读由此带来的不便.乞求被原谅. 评论文章 Ajax 实现无刷新页面.其原理.代码库.代码. 这 ...

  7. PHP+Ajax+plupload无刷新上传头像代码

    很简单的一款PHP+Ajax+plupload无刷新上传头像代码,兼容性很好,可以直接拿来用.你可以自定义各种类型的文件.本实例中只能上传"jpg", "png" ...

  8. angular -- 无刷新做分页

    无刷新做分页参考地址: http://www.jq22.com/demo/angular201707111100/ 示例代码: <!DOCTYPE html> <html lang= ...

  9. jQuery AJAX 网页无刷新上传示例

    新年礼,提供简单.易套用的 jQuery AJAX 上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ...

随机推荐

  1. hdu1102(最小生成树水题)

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...

  2. 对象序列化为何要定义serialVersionUID的来龙去脉

    在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存.比如最常见的是Web服务器中的Session对象,当有10万用户并发访问,就有可能出现10万个Session对象 ...

  3. Android 开发自己的网络收音机4——读取XML文件的电台数据

    国内外的电台数据很多,起码有好几百,所以把这些数据都写到代码里面是不实际的.只能写成一个数据文件,程序启动的时候再去加载.保存这些简单数据,我们肯定会优先使用XML文件,今天讲讲如何读取XML里面的数 ...

  4. [转] handsontable的核心方法

    原文地址:http://blog.csdn.net/mafan121/article/details/46122577 1.为handsontable添加钩子方法 addHook(key,callba ...

  5. C#2.0 Socket套接字编程之实例初探 200

    首先从原理上解释一下采用Socket接口的网络通讯,这里以最常用的C/S模式作为范例,首先,服务端有一个进程(或多个进程)在指定的端口等待客户来连接,服务程序等待客户的连接信息,一旦连接上之后,就可以 ...

  6. Redis提供的持久化机制(一)

    Redis提供的持久化机制 redis是一个内存数据库,也就是说它的所有的数据都是保存在内存中的,而内存中的数据当程序结束时就会消失,所以我们要想办法把内存中的数据写到磁盘中.当程序异常退出或者正常退 ...

  7. TCP粘包, UDP丢包, nagle算法

    一.TCP粘包 1. 什么时候考虑粘包 如果利用tcp每次发送数据,就与对方建立连接,然后双方发送完一段数据后,就关闭连接,这样就不会出现粘包问题(因为只有一种包结构,类似于http协议,UDP不会出 ...

  8. led子系统

    最简单的led驱动就是从端口输出0或1来关闭或点亮灯.而我们这里讲的led子系统,主要是对led事件进行了分装和优化,这里我们主要讲的是可 以实现跨平台的led驱动.不管你是使用三星的平台,还是Atm ...

  9. IDEA成功注册方法

    IDEA成功注册方法 1. 到网站 http://idea.lanyus.com/ 获取注册码. 2.填入下面的license server: http://intellij.mandroid.cn/ ...

  10. es 加磁盘扩容

    elasticsearch多磁盘扩容   1.问题 由于早前elasticsearch集群数据存储路径只配置了一个,所以某天磁盘突然爆满,集群差点当机.需重新配置多路径存储路径,因为在生产环境,得保证 ...