Avatar billede fixxxer Nybegynder
19. november 2002 - 19:02 Der er 8 kommentarer og
1 løsning

paging : vis antallet af rækker

Jeg har en paging, som  virker fint, men kan jeg ikke vise hvilke række der vises, fx. 1-10 11-20 osv?
Avatar billede a-torsten Nybegynder
19. november 2002 - 19:34 #1
Det er nok noget nemmere hvis du viser os din kode...

-Anders
Avatar billede eagleeye Praktikant
20. november 2002 - 09:18 #2
hvis du har en variable med hvilken side du er på:
intPage = 3 'Angiver hvilekn side man er på antager den føste side er intPage=1
Og en for hvor mange der skal vises pr side.:
pageSize = 10 'Antal pr side.

minNo = (intPage*pageSize) - pageSize + 1
maxNo = intPage*pageSize

Så kan du udskrive det.

Response.write "Du ser fra " & minNo & " - "  maxNo
Avatar billede fixxxer Nybegynder
20. november 2002 - 16:28 #3
eagleeye > kun en lille fejl i din ellers fungerende kode: hvis listen kun indholde fx 6 men pagesize er 10, vil der stå 1-10 :)
Avatar billede fixxxer Nybegynder
20. november 2002 - 16:31 #4
og den er rettet nu :)

takker for hjælpen
Avatar billede psyclown Nybegynder
20. november 2002 - 22:24 #5
hvordan rettede du det så ? Det kunne være at der var andre der kunne bruge det til noget.
Avatar billede fixxxer Nybegynder
20. november 2002 - 22:33 #6
det skriver jeg når jeg er knap så træt :)
Avatar billede psyclown Nybegynder
20. november 2002 - 22:42 #7
det er okay, jeg har bare prøvet at finde ud af hvordan man gjorde og nu var chances der :D
Avatar billede fixxxer Nybegynder
21. november 2002 - 10:12 #8
hey psyclown!

Nu har jeg fået mig lidt søvn, så jeg er i stand til at hjælpe dig lidt på vej :)


Jeg går udfra at du bruger det rimlig almindlige paging script, som man kan finde på http://activedeveloper.dk/aspdigital/kapitel2/paging.asp

Som jeg har gjort det, smider man en variabel der tæller antallet af viste rækker, ind i løkken, samt smider antal er total rækker i en variabel:

rows = rs.recordcount 'alle rækker

rs.PageSize = 20
rs.AbsolutePage = intPage
intRecCount1 = rs.PageSize
intPageCount1 = rs.PageCount
counter = 0 'tælle variabel

Do While Not rs.EOF And intRecCount > 0
counter = counter + 1 'lig en til variablen
'indsæt rækkerne her
rs.MoveNext
loop

'så bruger vi eagleeye's script:
pageSize = rs.pagesize
minNo = (intPage*pageSize) - pageSize + 1
maxNo = intPage*pageSize


og når vi skal indsætte det skal vi lige tjekke nogle ting først, det er altså ikke nok bare med Response.write "Du ser fra " & minNo & " - "  maxNo, da det vil give et "upræcist" resultat. Derfor:


        <%
          if intPageCount <> "" then 'hvis der er nogen sider

          Response.Write minNo & " - "
         
          if Clng(intPage) > 1 Then 'hvis den aktuelle side er større end 1
            Response.Write (maxNo) - (pageSize-counter) 'simpel matematik :)
          elseif Clng(intPage) = 0 AND Clng(intPageCount) = 1 then 'hvis der er 1 side, og altså ikke nogen grund til paging
            Response.Write maxNo
          else 'i andre tilfælde bruger vi vores variabel
            Response.Write counter
          end if
          Response.Write " af " & rows
         
          end if
        %>
Avatar billede fixxxer Nybegynder
21. november 2002 - 10:12 #9
intRecCount1 = rs.PageSize
intPageCount1 = rs.PageCount

skal være

intRecCount = rs.PageSize
intPageCount = rs.PageCount
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester