Jo, jag har paging på forumet, men att det blir punkter mellan talen har jag inte.
Om det är 1 till 44 t.ex (det blir mer och mer sidor hela tiden) så vill jag inte att sidan ska vara full med siffror... så jag vill ha att det är kanske
Om du vet längden på din page size (antal sidor) så kolla längden på dina sidor(44) i ditt fall, så efter din loop är över 10 så skriver du ut ... och sen ta du fr 40-44 (dvs 4 sista... så din kod behöver egentligen bara om du har fler sidor än 16 sidor(räknar nog fel)
' lPageSize - Get the RecordCount on how many pages we got in Total
' lFirstPageCount - How many pages do you want to display before we break the string
' lLastPageCount - How many pages we want to display after the break.
Function Paging(lPageSize, lFirstPageCount, lLastPageCount)
dim sReturn
For i = 1 to lpageSize
If i = lpageSize Then
sReturn = sReturn & i
ElseIf i < lFirstPageCount Or (i > lpageSize-lLastPageCount) Then
sReturn = sReturn & i & ", "
ElseIf i = lFirstPageCount Then
sReturn = sReturn & i & ", ... ,"
End if
Next
Paging = sReturn
End Function
Response.Write Paging(30,5,2)
tyvärr fungera den inte 100... då om vi säger att du har brytningen på sidan 8 och ta de två senaste och endast har 10 sidor så kommer den bete sig konstigt...
Function Paging(lPageSize, lFirstPageCount, lLastPageCount)
dim sReturn
For i = 1 to lpageSize
If lPageSize > lFirstPageCount+lLastPageCount+1 Then
If i = lpageSize Then
sReturn = sReturn & i
ElseIf (i < lFirstPageCount) Or (i > lpageSize-lLastPageCount) Or (lPageSize = lFirstPageCount+lLastPageCount) Then
sReturn = sReturn & i & ", "
ElseIf (i = lFirstPageCount) Then
sReturn = sReturn & i & ", ... ,"
End if
Else
If i = lpageSize Then sReturn = sReturn & i Else sReturn = sReturn & i & ", "
End If
Next
Paging = sReturn
End Function
Kan särket skriva en bättre IF fråga på det hela men en snabb fix...
265 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849