یک سوال در مورد Custom Page در GridView

کد زیر را برای تنظیم صفحه بندی بکار بردم اما مشکی به وجود آمده
[LTR][LTR]
کد:
<%@ 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=IHRC;")
  If Not IsPostBack Then
    ' Get Total Pages
            strSelect = "Select Count(*) From News"
    cmdSelect = New SqlCommand( strSelect, conNorthwind )
    conNorthwind.Open()
            dgrdProducts.VirtualItemCount = cmdSelect.ExecuteScalar()
            Trace.IsEnabled = True
            Trace.Warn(Math.Round(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
        strSelect = "Select * From News Where NewsID > @startIndex " _
          & "And NewsID <= @endIndex"
  dadProducts = New SqlDataAdapter( strSelect, conNorthwind )
  dadProducts.SelectCommand.Parameters.Add( "@startIndex", intStartIndex )
  dadProducts.SelectCommand.Parameters.Add( "@endIndex", intEndIndex )
  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 )
  dgrdProducts.CurrentPageIndex = e.NewPageIndex
  BindDataGrid
End Sub

</Script>

<html>
<head><title>DataGridCustomPaging.aspx</title></head>
<body>
<form id="Form1" Runat="Server">

<asp:DataGrid
  ID="dgrdProducts"
  AllowPaging="True"
  AllowCustomPaging="True"
  PageSize="17"
  OnPageIndexChanged="dgrdProducts_PageIndexChanged"
  PagerStyle-Mode="NumericPages"
  CellPadding="3"
  Runat="Server" 
   AutoGenerateColumns="false">
  
  <Columns>
  <asp:BoundColumn DataField="NewsID"></asp:BoundColumn>
  <asp:BoundColumn DataField="NewsMode"></asp:BoundColumn>
  
  
  </Columns>
  
  </asp:DataGrid>

</form>
</body>
</html>
[/LTR][/LTR]


مشکل این است که در قسمتی که تعداد کل داده ها را تقسیم بر تعداد رکورد در صفحه می کنیم تا تعداد شمارنده گرید ویو تشکیل شود درست کار نمی کند اما وقتی فقط تعداد کل داده ها را (COunt) به شمارنده گرید ویو می دهیم درست کار می کند . علت چیست ؟
 

جدیدترین ارسال ها

بالا