posts - 32, comments - 9, trackbacks - 0, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

'注:btnFirstPage,btnPrevPage,btnNextPage,btnLastPage对应首页,前一页,下一页,尾页按钮
g_strFilterSQLWhere = ""   '-------筛选SQL条件
g_strShowFieldNames = "DosID,DosCode,DosBagCode,Name,Gender"   '-----------要显示的字段
g_nPageSize = 20     '----------每页数据显示记录数
g_nCurPage = 1       '----------当前页号
g_nTotalPageCount = 1  '--------总页数,动态计算

'窗体装载事件
Sub DBEngine_EventLoad(strInitData, strInitType)
  '-----失效页面跳转按钮
  btnFirstPage.Enabled = FALSE
  btnPrevPage.Enabled = FALSE
  btnNextPage.Enabled = FALSE
  btnLastPage.Enabled = FALSE
End Sub

'-------在网格里显示分页数据
Sub ShowQueryData(strTableName, strFieldNames, strSQLWhere, strOrder, nPage, nPageSize)
    '-----SqlQuery分页方案,优点:速度快,缺点:不能显示自定义的表样式
    'strSQL = "Select "+strFieldNames+" From "+strTableName
    'if strSQLWhere <> "" then
    '   strSQL = strSQL+" Where "+strSQLWhere
    'end if
    'if strOrder <> "" then
     '  strSQL = strSQL+" "+strOrder
    'end if

    'strInput = "<Input><SQL>"+DBEngine.TextToDoc(strSQL)+"</SQL><Page>"+CStr(nPage)+"</Page><PageSize>"+CStr(nPageSize)+"</PageSize></Input>"
    'DBEngine.BeginWaitCursor '----显示等待
    'strRet = DBEngine.WebFunction("SqlQuery", strInput, "")

    '---GetTableDataXML分页方案,优点:能显示自定义的表样式,缺点:速度慢
    strInput = "<Input><TableName>"+strTableName+"</TableName><FieldNames>"+strFieldNames+"</FieldNames><SQLWhere>"+DBEngine.TextToDoc(strSQLWhere)+"</SQLWhere>"
    strInput = strInput+"<Order>"+strOrder+"</Order><Page>"+CStr(nPage)+"</Page><PageSize>"+CStr(nPageSize)+"</PageSize></Input>"
    DBEngine.BeginWaitCursor '----显示等待
    strRet = DBEngine.WebFunction("GetTableDataXML", strInput, "")
   
    strError = DBEngine.GetNodeText(strRet, "Error")
    if strError <> "" then
       DBEngine.MsgBox strError
       DBEngine.EndWaitCursor
       Exit Sub
    End if
    MainGrid.SetTableXML(strRet)
    MainGrid.AutoSizeColumns
    '---------返回符合条件的总记录数
    strInput = "<Input><TableName>"+strTableName+"</TableName><SQLWhere>"+DBEngine.TextToDoc(strSQLWhere)+"</SQLWhere></Input>"
    strRecordCount = DBEngine.WebFunction("GetRecordCount", strInput, "")
    lblCount.Caption = strRecordCount
    g_nTotalPageCount = Clng(strRecordCount)/nPageSize
    if Clng(strRecordCount) Mod nPageSize <> 0 then
      g_nTotalPageCount = CInt(g_nTotalPageCount)+1
   end if

   'lbTotalPage.Caption = "共"+CStr(g_nTotalPageCount)+"页 当前页:"+CStr(nPage)
   DBEngine.EndWaitCursor
End Sub

'注释:首页
Sub btnFirstPage_Click()
    g_nCurPage = 1
    Call ShowQueryData("t_b_rs_DosBasicInfo", g_strShowFieldNames, g_strFilterSQLWhere, "Order by DosCode", g_nCurPage, g_nPageSize)
    btnFirstPage.Enabled = FALSE
    btnPrevPage.Enabled = FALSE
    btnNextPage.Enabled = TRUE
    btnLastPage.Enabled = TRUE
End Sub

'注释:前一页
Sub btnPrevPage_Click()
    g_nCurPage = g_nCurPage-1
    if g_nCurPage < 1 then
       g_nCurPage = 1
    end if
    Call ShowQueryData("t_b_rs_DosBasicInfo", g_strShowFieldNames, g_strFilterSQLWhere, "Order by DosCode", g_nCurPage, g_nPageSize)
    if g_nCurPage = 1 then
      btnFirstPage.Enabled = FALSE
      btnPrevPage.Enabled = FALSE
    else
      btnFirstPage.Enabled = TRUE
      btnPrevPage.Enabled = TRUE
    end if
    btnNextPage.Enabled = TRUE
    btnLastPage.Enabled = TRUE
End Sub

'注释:下一页
Sub btnNextPage_Click()
    g_nCurPage = g_nCurPage+1
    if g_nCurPage > g_nTotalPageCount then
       g_nCurPage = g_nTotalPageCount
    end if
    Call ShowQueryData("t_b_rs_DosBasicInfo", g_strShowFieldNames, g_strFilterSQLWhere, "Order by DosCode", g_nCurPage, g_nPageSize)
    btnFirstPage.Enabled = TRUE
    btnPrevPage.Enabled = TRUE
    if g_nCurPage = g_nTotalPageCount then
      btnNextPage.Enabled = FALSE
      btnLastPage.Enabled = FALSE
    else
      btnNextPage.Enabled = TRUE
      btnLastPage.Enabled = TRUE
    end if
End Sub

'注释:尾页
Sub btnLastPage_Click()
    g_nCurPage = g_nTotalPageCount
    Call ShowQueryData("t_b_rs_DosBasicInfo", g_strShowFieldNames, g_strFilterSQLWhere, "Order by DosCode", g_nCurPage, g_nPageSize)
    btnFirstPage.Enabled = TRUE
    btnPrevPage.Enabled = TRUE
    btnNextPage.Enabled = FALSE
    btnLastPage.Enabled = FALSE
End Sub





标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-05-16 09:51 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: