大家一起来 讨论 这个分页代码 写的怎么样 有什么缺点

chunfengdeyi 2005-06-30 05:24:39
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.Data" %>
<script runat="server">

Dim conNorthwind As SqlConnection
Dim strSelect As String
Dim intStartIndex As Integer
Dim intEndIndex As Integer

Sub Page_Load
Dim cmdSelect As SqlCommand

conNorthwind = New SqlConnection( "Server=localhost;UID=sa;PWD=;Database=Northwind" )
' 设置链接到SQL SEVER2000数据库默认具备的数据库NORTHWIND的链接
If Not IsPostBack Then
' Get Total Pages
strSelect = "Select Count(*) From Products"
cmdSelect = New SqlCommand( strSelect, conNorthwind )
conNorthwind.Open()
dgrdProducts.VirtualItemCount = ( cmdSelect.ExecuteScalar() / dgrdProducts.PageSize )
conNorthwind.Close()
BindDataGrid
End If
End Sub

Sub BindDataGrid
Dim dadProducts As SqlDataAdapter
Dim dstProducts As DataSet

intEndIndex = intStartIndex + dgrdProducts.PageSize
'根据要显示页面其起始的PRODUCT值+其页面条数值.获得其结束PRODUCTID值
strSelect = "Select * From Products Where ProductID > @startIndex " _
& "And ProductID <= @endIndex Order By ProductID"
dadProducts = New SqlDataAdapter( strSelect, conNorthwind )
dadProducts.SelectCommand.Parameters.Add( "@startIndex", intStartIndex )
'这里设置该页显示的新闻起始的新闻RPODUCTID
dadProducts.SelectCommand.Parameters.Add( "@endIndex", intEndIndex )
'这里设置该页显示的新闻结束的PRODUCTID值
dstProducts = New DataSet
dadProducts.Fill( dstProducts )

dgrdProducts.DataSource = dstProducts
dgrdProducts.DataBind()
End Sub

Sub dgrdProducts_PageIndexChanged( s As Object, e As DataGridPageChangedEventArgs )
intStartIndex = ( e.NewPageIndex * dgrdProducts.PageSize )
'根据页选择的页面.计算出该页起始productid的值.
dgrdProducts.CurrentPageIndex = e.NewPageIndex
BindDataGrid
End Sub

</script>
<html>
<head>
<title>DataGridCustomPaging.aspx</title>
</head>
<body>
<form runat="Server">
<asp:DataGrid id="dgrdProducts" Runat="Server" CellPadding="3" PagerStyle-Mode="NumericPages" OnPageIndexChanged="dgrdProducts_PageIndexChanged" PageSize="3" AllowCustomPaging="True" AllowPaging="True"></asp:DataGrid>
<!-- pagestyle-mode设置分页显示的方式,这里我们将其设置为数字显示, -->
</form>
</body>
</html>

...全文
102 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chunfengdeyi 2005-07-13
  • 打赏
  • 举报
回复
up
chunfengdeyi 2005-07-05
  • 打赏
  • 举报
回复
是不是不好
chunfengdeyi 2005-07-01
  • 打赏
  • 举报
回复
up
yegucheng 2005-06-30
  • 打赏
  • 举报
回复
直接用sql语句分页,最快

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧