惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
S
Securelist
P
Proofpoint News Feed
D
DataBreaches.Net
Cisco Talos Blog
Cisco Talos Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Project Zero
Project Zero
A
About on SuperTechFans
罗磊的独立博客
WordPress大学
WordPress大学
月光博客
月光博客
Latest news
Latest news
C
Cyber Attacks, Cyber Crime and Cyber Security
GbyAI
GbyAI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
W
WeLiveSecurity
Attack and Defense Labs
Attack and Defense Labs
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Privacy International News Feed
AI
AI
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence
Help Net Security
Help Net Security
T
Tor Project blog
V
Vulnerabilities – Threatpost
C
Cisco Blogs
I
Intezer
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
MyScale Blog
MyScale Blog
雷峰网
雷峰网
MongoDB | Blog
MongoDB | Blog
Forbes - Security
Forbes - Security
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
T
Threat Research - Cisco Blogs
B
Blog RSS Feed
博客园 - 叶小钗
N
News and Events Feed by Topic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Simon Willison's Weblog
Simon Willison's Weblog
C
CERT Recently Published Vulnerability Notes
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News and Events Feed by Topic

博客园 - CsharpFish

Sql2005 PIVOT运算符的操作 Lodop使用之WEB套打程序开发 jquery插件treeTable Asp.net 后台添加CSS、JS、Meta标签的写法 DataGridView拖动换行 CodeSmith----SchemaExplorer类结构详细介绍 - CsharpFish - 博客园 js request 应用举例 背景图片随窗口拉伸 WebBrowser网页局部打印 - CsharpFish - 博客园 js日期控件-梅花雨 利用VML生成柱状图和饼图 js操作Table绑定DataSet 小小个人消费管理系统(已完善) GridView分页用户自定义控件 DbType与OleDbType 添加修改后返回刷新查询页面 asp.net页面传值(transfer Context.Handler) GridViev皮肤(Skin&CSS) JavaScript验证控件并阻止表单提交
GridView自定义分页存储过程
CsharpFish · 2008-05-23 · via 博客园 - CsharpFish

  要做一个GridView分页的应用,可以前用惯了Sql2005的CET,现在开发的项目用的却是Sql2000。CET用不了了只好写了一个临时表的存储过程。用存储过程实现GridView分页效果总体分为两大块:一个是存储过程,另一个就是自定义的按钮控件。下面是详细代码。
第一 存储过程
  存储过程1:从数据库取得要查询记录的总条数    
 

CREATE procedure P_PageSP_TotalNum
    
@Sql varchar(2000),
    
@FilterStr varchar(500)

as

declare @Str varchar(2000)
set @Str ='
declare @indextable table(id int identity(1,1),nid int);
insert into @indextable(nid) select [ID] from  (
' + @Sql + ' ' + @FilterStr + ') as a  ;
select count(*) from @indextable
'

exec(@Str)
GO

    存储过程2:按页取数据

CREATE procedure P_PageSP
    
@Lower varchar(4),        --要查询的下限
    @Upper varchar(4),        --要查询的上限
    @TableName varchar(100),     --查询的表名
    @OrderBy varchar(200),        --排序条件
    @FilterStr varchar(1000),        --过滤条件
    @Sql varchar(2000)        --查询语句

ASdeclare @Str varchar(2000)set @Str ='
declare @indextable table(id int identity(1,1),nid int);
insert into @indextable(nid) select [ID] from  (
' + @Sql + ' ' + @FilterStr + ') as a  '  + @OrderBy  + ' ;
' + @Sql + ' inner join @indextable t on t.nid='+ @TableName +'.ID 
where t.id > 
' + @Lower + ' and t.id <= ' + @Upper + ' ' 
exec(@Str)
GO

第二 自定义按钮控件
    aspx代码

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="GvPageSet.ascx.cs" Inherits="Control_GvPageSet" %>
<div style="text-align:right; width:100%;background-color:#c6d7ef">
<table cellpadding="0" cellspacing="0">
    
<tr>
        
<td style="width: 200px; text-align: right">
            
<asp:Label ID="Label1" runat="server" Text="当前页:"></asp:Label><asp:Label ID="lblCurrentInfo"
                runat
="server">1</asp:Label>&nbsp; &nbsp;<asp:Label ID="Label2" runat="server" Text="共"></asp:Label><asp:Label ID="lblCount"
                runat
="server">1</asp:Label><asp:Label ID="Label3" runat="server" Text="页"></asp:Label><asp:Label
                    
ID="lblTotalNum" runat="server">5</asp:Label><asp:Label ID="Label5" runat="server" Text="条"></asp:Label>
            
&nbsp; &nbsp;
        
</td>
        
<td style="width: 33px">
            
<asp:LinkButton ID="lbtnFirst" runat="server" OnClick="PageIndex_Changed">首页</asp:LinkButton></td>
        
<td style="width: 50px">
            
<asp:LinkButton ID="lbtnPrev" runat="server" OnClick="PageIndex_Changed">上一页</asp:LinkButton></td>
        
<td style="width: 50px">
            
<asp:LinkButton ID="lbtnNext" runat="server" OnClick="PageIndex_Changed">下一页</asp:LinkButton></td>
        
<td style="width: 33px">
            
<asp:LinkButton ID="lbtnLast" runat="server" OnClick="PageIndex_Changed">末页</asp:LinkButton></td>
    
</tr>
</table></div>

    CS代码

CS


第三 应用
   把自定义控件拖到用于分页的GridView页面上,属性栏设置GridView的各个属性(都有详细的属性说明)。页面CS代码需要绑定GridView的地方调用自定义控件的BindGridView()方法绑定数据(如果是查询页面调用方法之前应先设置控件的FilterStr属性)。

   点击下载