Gridview各种功能+AspNetPager+Ajax实现无刷新存储过程分页 (留着用)
存储过程:
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
前台代码:

<%@ 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>

后台代码:

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实现无刷新存储过程分页 (留着用)的更多相关文章
- jQuery+php+ajax实现无刷新上传文件功能
jQuery+php+ajax实现无刷新上传文件功能,还带有上传进度条动画效果,支持图片.视频等大文件上传. js代码 <script type='text/javascript' src='j ...
- 使用ajax实现无刷新改变页面内容
如何使用ajax实现无刷新改变页面内容(也就是ajax异步请求刷新页面),下面通过一个小demo说明一下,前端页面代码如下所示 1 <%@ Page Language="C#" ...
- jsp+ajax实现无刷新
jsp+ajax实现无刷新,鼠标离开文本框即验证用户名 jsp+ajax实现无刷新,鼠标离开文本框即验证用户名(本功能多用于注册) input.jsp(表单提交页面): %@ page content ...
- window.history.pushState与ajax实现无刷新更新页面url
ajax能无刷新更新数据,但是不能更新url HTML5的新API: window.history.pushState, window.history.replaceState 用户操作history ...
- Ajax 实现无刷新分页
Ajax 实现无刷新分页
- Ajax 实现无刷新页面
注意:如本文所用,在前面的文章库的数目可以在源代码中找到,我将指示在文本,其中链路,为了缩短制品的长度,阅读由此带来的不便.乞求被原谅. 评论文章 Ajax 实现无刷新页面.其原理.代码库.代码. 这 ...
- PHP+Ajax+plupload无刷新上传头像代码
很简单的一款PHP+Ajax+plupload无刷新上传头像代码,兼容性很好,可以直接拿来用.你可以自定义各种类型的文件.本实例中只能上传"jpg", "png" ...
- angular -- 无刷新做分页
无刷新做分页参考地址: http://www.jq22.com/demo/angular201707111100/ 示例代码: <!DOCTYPE html> <html lang= ...
- jQuery AJAX 网页无刷新上传示例
新年礼,提供简单.易套用的 jQuery AJAX 上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ...
随机推荐
- 第22章 RTX 低功耗之停机模式
以下内容转载自安富莱电子: http://forum.armfly.com/forum.php STM32F103 停机模式介绍 本章节我们主要讲解停机模式,停机模式是在 Cortex™-M3 的深睡 ...
- BI-LSTM-CRF在序列标注中的应用
1. 前言 在NLP中有几个经典的序列标注问题,词性标注(POS),chunking和命名实体识别(NER).序列标注器的输出可用于另外的应用程序.例如,可以利用在用户搜索查询上训练的命名实体识别器来 ...
- Intellij IDEA 将工程转换成maven工程 详解
1> 右键工程,点击 Add Framework Support 2> 选中 Maven,再点击 OK 3> 工程根目录自动生成 pom.xml 文件,这样 工程就支持 Ma ...
- 微信支付WxpayAPI_php_v3(三)支付成功回调
接收回调通知后的业务处理都在NotifyProcess做,$data包含了微信返回给你的数据. Service: <?php /** * Created by PhpStorm. * User: ...
- 三篇文章了解 TiDB 技术内幕——说存储
数据库.操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石.其中数据库更靠近应用层,是很多业务的支撑.这一领域经过了几十年的发展,不断的有新的进展. 很多人用过数据库,但是很少有人实现过一个 ...
- 微信小程序——picker通过value返回你想获取的值
关于微信小程序中的picker使用方法可以访问:picker-小程序 从它的官方文档中,可以看出它返回的value值是它range的下标: 在项目中,我们大多数时候传的值并不是需要这个下标,而是其他的 ...
- 关闭R语言载入包时候的警告
options(warn =-1)
- 第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查
第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作.增.删.改.查 elasticsearch(搜索引擎)基本的索引 ...
- JDBC WHERE子句条件实例
在本教程将演示如何在JDBC应用程序中,从数据库表中查询数据记录, 在查询选择记录时使用WHERE子句添加其他条件. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模 ...
- C#常用数据类型间的转换
数据类型有很多种,数据类型间的转换也是有很多的方法,如果不细心整理的话等到用的时候再查就会显得很浪费时间,所以决心整理出这篇博文.主要是讲解常用数据类型之间的转换方法以及常见数据类型所占字节数. 字节 ...