نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل در صفحه بندی رکوردها

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار jannati
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهران
    پست
    728

    مشکل در صفحه بندی رکوردها

    دوستان سلام
    من یک صفحه aspدارم که میخوام توی اون رکوردهام 20تا20تا نمایش داده بشه.از متغییرهای currentpageوpagesizeوpagecountاستفاده میکنم.اما نمیدونم چرا pagecountهمیشه مساوی با 1- است.به خاطر همین کدم اصلا کار نمی کنه.اول برنامه را اینطوری نوشتم:


    <!-- #include file="adovbs.inc" -->
    <%

    Response.Write (m)
    if Request.QueryString("move")="next" then
    session("currentpage")=session("curren tpage")+1
    end if
    if Request.QueryString("move")="pre" then
    session("currentpage")=session("curren tpage")-1
    end if
    if Request.QueryString("move")=" " then
    session("currentpage")=1
    end if
    'Response.Write (prodset.PageCount )
    %>

    بعد در whileهم اینطوری صدا زدم:

    while not prodSet.EOF and numrows<prodset.PageSize

    البته pagesize را هم 20دادم.
    و نهایتا در قسمت صدا زدن صفحه بعدی کد زیر رو گذاشتم:

    <%if session("currentpage")<prodset.PageCoun t then%>
    <p align="left"><a href="print.asp?move=next">next</a></p>
    <%end if%>

    با این وجود رکوردها را 20تا20 تا نشون میده .ولی دکمهnextفعال نیست.به نظر شما مشکل چیه؟ :roll: :? :?

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    Iran
    پست
    801
    به نظر من به جای این که از Session استفاده کنید بهتره با روش دیگه‌ای شماره صفحه رو به دست بیارید مثلا اون رو مستقیم توی QueryString قرار بدید
    برای صفحه‌بندی رکوردست هم از این الگو پیروی کنید

  3. #3
    کاربر دائمی آواتار jannati
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهران
    پست
    728
    دوست عزیز از پاسختون ممنون
    اما مشکل من اینه که اصلا pagecountرا همیشه (1-)نشان میدهد و وقتی خط prodset.AbsolutePage =5را اضافه میکنم خطای زیر را میدهد:

    Error Type:
    ADODB.Recordset (0x800A0CB3)
    Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype.


    البته این را هم اضافه میکنم که پایگاهم را اینطوری باز کرده ام:

    prodSet.Open "select * from order_items " _
    & "where order_id="& p_order_id, _
    outpostDB, adOpenDynamic, adLockPessimistic, adCmdText

    حالا باید چیکار کنم؟چون pagecountهمیشه (1-)است اصلا وارد حلقه whileنمی شود؟ :( :cry: :?

  4. #4
    کاربر دائمی آواتار jannati
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهران
    پست
    728
    واقعا ممنونم
    مشکل در نوع بازکردن رکوردست بود. (:D)
    حالا مشکلم اینجاست که وقتیnextرو میزنم همون رکوردهای صفحه اول را نشان میدهد.یعنی همان 20تای اولی را .به نظر شما مشکل چیه؟ :roll:

  5. #5
    من فکرکنم شما رکوردست رو refresh نمیکنید یا اینکه در انتها اون رو close و سپس set nothing نمیکنید.
    بای

  6. #6
    سلام

    من یه برنامه اینطوری خیلی وقت پیشها نوشته بودم که اینجا براتون میذارمش خیلی هم درست کار میکنه


    im intCurrPage, intTotalPages
    Const intRecPerPage = 20

    If Request.QueryString("CurrPage") = "" then
    intCurrPage = 1
    Else
    intCurrPage = CInt(Request.QueryString("CurrPage")&# 41;
    End If

    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.ConnectionString = "Provider=Microsoft.jet.OLEDB.3.51;" & _
    "Data Source = E:\test.mdb"
    objConn.Open

    Set RecSet = Server.CreateObject("ADODB.Recordset")

    RecSet.CursorLocation = adUseClient
    RecSet.CursorType = adOpenStatic

    RecSet.CacheSize = intRecPerPage
    RecSet.Open "Select * From myTable"

    If Not RecSet.Eof Then
    RecSet.MoveFirst
    RecSet.PageSize = intRecPerPage

    intTotalPages = CInt(RecSet.PageCount)
    If intCurrPage >= intTotalPages Then intCurrPage = intTotalPages
    If intCurrPage <= 0 Then intCurrPage = 1

    RecSet.AbsolutePage = intCurrPage
    Else
    intCurrPage = 0
    End If



    <%If CInt(intCurrPage) > 1 Then%>
    <a Name="FirstPageButton" href="default.asp?CurrPage=<%=CStr(1)%> ">First Page</a> 
    <a Name="PrevPageButton" href="default.asp?CurrPage=<%=CStr(intCurrP age - 1)%>">Previouse Page</a> 
    <%End If%>

    Page <B><%=CStr(intCurrPage)%></B> Of <B><%=CStr(intTotalPages)%></B>  

    <%If CInt(intCurrPage) <> CInt(intTotalPages) Then%>
    <a Name="NextPageButton" href="default.asp?CurrPage=<%=CStr(intCurrP age + 1)%>">Next Page</a> 
    <a Name="LastPageButton" href="default.asp?CurrPage=<%=CStr(intTotal Pages)%>">Last Page</a>
    <%End If%>


    ارادتمند

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •