Public Class swi2
    Inherits System.Web.UI.Page
    Dim ds As DataSet = createdatasource()    Public Function createdatasource() As DataSet        Dim temp
        Dim ds As New DataSet
        Dim dt1 As New DataTable
        Dim dr As DataRow
        Dim i As Integer        '创建数据表        dt1.Columns.Add(New DataColumn("request_date", GetType(String)))
        dt1.Columns.Add(New DataColumn("request_time", GetType(String)))
        dt1.Columns.Add(New DataColumn("request_time1", GetType(Integer)))        '生成一些行,并在其中放置一些示例数据
        For i = 1 To 30            dr = dt1.NewRow            dr(0) = "-未指定- "
            dr(1) = "-未指定-"
            dr(2) = 0            dt1.Rows.Add(dr)        Next        ds.Tables.Add(dt1)        createdatasource = ds
    End Function#Region " Web 窗体设计器生成的代码 "    '该调用是 Web 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()    End Sub
    Protected WithEvents myDataGrid As System.Web.UI.WebControls.DataGrid
    Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
    Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
    Protected WithEvents request_detail As System.Web.UI.WebControls.TextBox
    Protected WithEvents CheckBoxList1 As System.Web.UI.WebControls.CheckBoxList
    Protected WithEvents work_list_id As System.Web.UI.WebControls.TextBox
    Protected WithEvents client_name As System.Web.UI.WebControls.TextBox
    Protected WithEvents client_id As System.Web.UI.WebControls.TextBox
    Protected WithEvents DropDownList3 As System.Web.UI.WebControls.DropDownList
    Protected WithEvents continue As System.Web.UI.WebControls.Button
    Protected WithEvents Button2 As System.Web.UI.WebControls.Button
    Protected WithEvents TextBox3 As System.Web.UI.WebControls.TextBox
    Protected WithEvents next1 As System.Web.UI.WebControls.Button
    Protected WithEvents Prev As System.Web.UI.WebControls.Button
    Protected WithEvents cpi As System.Web.UI.WebControls.Label
    Protected WithEvents pagecountpage As System.Web.UI.WebControls.Label    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
    '不要删除或移动它。
    Private designerPlaceholderDeclaration As System.Object    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
    End Sub#End Region
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        Dim temp
        Dim i
        If Not IsPostBack Then
'如果使用 ISPOSTBACK 那么就
'无法正确翻页  但myDataGrid_ItemCommand 事件可以触发
'如果不使用 ISPOSTBACK 那么翻页正常 但
'但myDataGrid_ItemCommand 事件无法触发
            Dim conn As New OleDb.OleDbConnection
            Dim objc As New mylib.Class1
            conn = objc.conn()            Dim sql
            sql = "select * from employee_category"
            Dim dap2 As New OleDb.OleDbDataAdapter(sql, conn)
            Dim ds2 As New DataSet
            dap2.Fill(ds2, "employee_category")
            i = 0
            temp = ds2.Tables(0).Rows.Count()
            Do While i <= temp - 1
                CheckBoxList1.Items.Add(New ListItem(ds2.Tables(0).Rows(i).Item(1), ds2.Tables(0).Rows(i).Item(0)))
                i = i + 1
            Loop
            CheckBoxList1.DataSource = ds2        End If
        myDataGrid.DataSource = ds
        Dim CurrentPageIndex
        CurrentPageIndex = myDataGrid.CurrentPageIndex        Dim PageSize
        PageSize = myDataGrid.PageSize        Dim dt As New DataTable
        dt = ds.Tables(0)
        Dim allcount
        allcount = dt.Rows.Count()        Dim PageCount        temp = allcount Mod PageSize
        If temp = 0 Then
            PageCount = (allcount - temp) / 10
        Else            PageCount = (allcount - temp) / 10 + 1
        End If        pagecountpage.Text = PageCount        cpi.Text = CurrentPageIndex + 1        Session("allcount") = allcount
        Session("pagecount") = PageCount
        Session("CurrentPageIndex") = CurrentPageIndex
        Session("PageSize") = PageSize
        myDataGrid.DataBind()
    End Sub

解决方案 »

  1.   


        Private Sub next1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles next1.Click
            Dim pagecount
            Dim allcount
            Dim currentpageindex
            allcount = Session("allcount").ToString
            pagecount = Session("pagecount").ToString
            currentpageindex = Session("CurrentPageIndex").ToString        If currentpageindex < pagecount - "1" Then            currentpageindex = currentpageindex + 1
                myDataGrid.CurrentPageIndex = currentpageindex
                myDataGrid.DataBind()
                cpi.Text = currentpageindex + 1
            End If        Session("allcount") = allcount
            Session("pagecount") = pagecount
            Session("CurrentPageIndex") = currentpageindex    End Sub
        Private Sub Prev_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Prev.Click
            Dim pagecount
            Dim allcount
            Dim currentpageindex
            allcount = Session("allcount").ToString
            pagecount = Session("pagecount").ToString
            currentpageindex = Session("CurrentPageIndex").ToString        If currentpageindex > 0 Then            currentpageindex = currentpageindex - 1
                myDataGrid.CurrentPageIndex = currentpageindex
                myDataGrid.DataBind()
                cpi.Text = currentpageindex + 1
            End If        Session("allcount") = allcount
            Session("pagecount") = pagecount
            Session("CurrentPageIndex") = currentpageindex    End Sub
        Sub DataGrid_ItemCreated(ByVal Sender As Object, ByVal e As DataGridItemEventArgs) Handles myDataGrid.ItemCreated        Select Case e.Item.ItemType
                Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem
                    Dim myDeleteButton As Button
                    myDeleteButton = e.Item.FindControl("btnDelete")
                    myDeleteButton.Text = "修改"
                    myDeleteButton.Attributes.Add("onclick", "bbb(" & e.Item.ItemIndex & ",document.all.TextBox1,document.all.TextBox2,document.all.TextBox3)")
            End Select    End Sub    Private Sub myDataGrid_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.ItemCommand
            'Response.Write("您要删除的是:<font color=red>" & e.Item.ItemIndex & "</font>")
            e.Item.BackColor = System.Drawing.Color.Ivory        e.Item.BackColor = System.Drawing.Color.Ivory        If Not TextBox1.Text = "" Then
                e.Item.Cells(1).Text = TextBox1.Text
            End If
            Dim aa
            Dim obj As New mylib.Class1
            aa = obj.checktime(TextBox2.Text, TextBox3.Text)
            If Not aa = 9999 And Not aa = 0 And Not IsDBNull(aa) Then
                Dim bb            Dim sql
                sql = "select note from time_category where time_id in (" & TextBox2.Text & " , " & TextBox3.Text & ")"
                Dim conn As New OleDb.OleDbConnection
                Dim objc As New mylib.Class1
                conn = objc.conn()
                Dim odAdapt1 As OleDb.OleDbDataAdapter
                Dim ds As New DataSet
                odAdapt1 = New OleDb.OleDbDataAdapter(sql, conn)
                odAdapt1.Fill(ds)            bb += ds.Tables(0).Rows(0).Item(0)
                bb += "--"
                bb += ds.Tables(0).Rows(1).Item(0)            e.Item.Cells(2).Text = bb            e.Item.Cells(3).Text = aa        End If    End SubEnd Class