日期:2014-02-01  浏览次数:20603 次

 

<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>

<Script Runat="Server">

Dim conNorthwind As SqlConnection
Dim strSql As String
Dim strSelect As String
Dim intStartIndex As Integer
Dim intEndIndex As Integer
Dim intRecordCount As Integer
Dim cmdSql As SqlCommand

Sub Page_Load
  btnFirst.Text = "首页"
  btnPrev.Text = "上一页"
  btnNext.Text = "下一页"
  btnLast.Text = "末页"
  conNorthwind = New SqlConnection( "Server=192.168.4.1;UID=sa;PWD=111111;Database=yourDBname" )
  If Not IsPostBack Then
    BindDataGrid
  End If
End Sub

Sub BindDataGrid
  Dim cmdSelect As SqlCommand
  Dim dtrRecordCount As SqlDataReader

  intEndIndex = dgrdProducts.PageSize
  cmdSelect = New SqlCommand( "newsPaged", conNorthwind )
  cmdSelect.CommandType = CommandType.StoredProcedure
  cmdSelect.Parameters.Add( "@PageIndex", intStartIndex )
  cmdSelect.Parameters.Add( "@PageSize ", intEndIndex )
  conNorthwind.Open()
  dtrRecordCount = cmdSelect.ExecuteReader()
  While dtrRecordCount.read()
    intRecordCount=dtrRecordCount(0)
  End While
  dgrdProducts.VirtualItemCount = (intRecordCount / dgrdProducts.PageSize)
  dtrRecordCount.NextResult()
  dgrdProducts.DataSource = dtrRecordCount
  dgrdProducts.DataBind()
  conNorthwind.Close()
End Sub

Sub dgrdProducts_PageIndexChanged( s As Object, e As DataGridPageChangedEventArgs )
  intStartIndex = e.NewPageIndex
  dgrdProducts.CurrentPageIndex = e.NewPageIndex
  BindDataGrid
End Sub
Sub PagerButtonClick(ByVal sender As Object, ByVal e As EventArgs)
  Dim arg As String = sender.CommandArgument
  Select Case arg
      Case "next"
        If (dgrdProducts.CurrentPageIndex < (dgrdProducts.PageCount - 1)) Then
           dgrdProducts.CurrentPageIndex += 1
        End If
      Case "prev"
        If (dgrdProducts.CurrentPageIndex > 0) Then
           dgrdProducts.CurrentPageIndex -= 1
        End If
      Case "last"
           dgrdProducts.CurrentPageIndex = (dgrdProducts.PageCount - 1)
      Case Else
        'page number
        dgrdProducts.CurrentPageIndex = System.Convert.ToInt32(arg)
  End Select
  intStartIndex=dgrdProducts.CurrentPageIndex
  BindDataGrid
End Sub

Sub dgrdProducts_EditCommand( s As Object, e As DataGridCommandEventArgs )
  dgrdProducts.EditItemIndex = e.Item.ItemIndex
  intStartIndex = dgrdProducts.CurrentPageIndex
  BindDataGrid
End Sub

Sub dgrdProducts_UpdateCommand( s As Object, e As DataGridCommandEventArgs )
  Dim intArticleID As Integer
  Dim txtTopic As TextBox
  Dim txtEditor As TextBox
  Dim strTopic As String
  Dim strEditor As String

  intArticleID = dgrdProducts.DataKeys( e.Item.ItemIndex )
  txtTopic = e.Item.Cells( 1 ).Controls( 0 )
  txtEditor = e.Item.Cells( 2 ).Controls( 0 )
  strTopic = txtTopic.Text
  strEditor = txtEditor.Text
  strSql = "Update Tb_Article Set Topic=@Topic, " _
   & "Editor=@Editor Where ArticleID=@ArticleID"
  cmdSql = New S