بسم الله الرحمن الرحيم ..
نفرض انك قمت ببرمجة منتدى او مدونة مثلا .. و كانت تحتوي على مواضيع .. و اردت ان تقوم بصنع صفحات للمواضيع ..
مثلا .. اذا كان لديك 24 موضوع .. و اردت وضع 5 مواضيع في كل صفحة .. فسيكون العدد الكلي للصفحات هو 5 .. لكن كيف ستقوم بصنع ذلك
هذا الكود يمكنك من ذلك
لمن يريد تحميل المثال من هنا
تحياتي ^_^
ملاحظة : تم تعديل المشاركة حيث كان هناك مشكلة نبهني عليها الاخ سعود جزاه الله خيرا .. وتم حلها بفضل الله
نفرض انك قمت ببرمجة منتدى او مدونة مثلا .. و كانت تحتوي على مواضيع .. و اردت ان تقوم بصنع صفحات للمواضيع ..
مثلا .. اذا كان لديك 24 موضوع .. و اردت وضع 5 مواضيع في كل صفحة .. فسيكون العدد الكلي للصفحات هو 5 .. لكن كيف ستقوم بصنع ذلك
هذا الكود يمكنك من ذلك
كود :
Try
Dim ItemsNumber As Integer = 30 'عدد العناصر في كل صفحة
Dim All As Integer = 724 'العدد الكلي للعناصر
Dim list As New ArrayList() ' صناعة مصفوفة ليتم تضمين العناصر فيها
For i As Integer = 1 To All ' اضافة العناصر في المصفوفة
list.Add("<a href=""Members.aspx?ID=" + i.ToString + """ target=""_blank"">Member " + i.ToString + "</a>")
Next
Dim Pages As Double = list.Count / ItemsNumber 'الحصول على عدد الصفحات
Dim Rounded As Integer = Math.Round(Pages) 'تحويل عدد الصفحات الى عدد صحيح
If Rounded < Pages Then
Pages = Rounded + 1
Else
Pages = Rounded
End If
Dim Count As Integer = list.Count 'الحصول على عدد العناصر في المصفوفة
d.InnerHtml = ""
page = Val(Request.QueryString("Page")) 'الحصول على المدخلات من الرابط
If Not page = Nothing And Not page = "0" Then
If page = Pages Then 'اذا كانت الصفحة هي اخر صفحة
If Count <= ItemsNumber Then 'اذا كانت الصفحة هي الوحيدة يتم اضافة جميع العناصر
For i = 0 To Count - 1
d.InnerHtml += list(i) + "<br/>"
Next
Button1.Enabled = False
Button2.Enabled = False
Else 'اذا لم تكن الصفحة هي الوحيدة .. لكنها الاخيرة
Dim PreviousItem As Integer = (page - 1) * ItemsNumber 'يتم الحصول على العناصر التي تحتويها البيج القبل الاخيرة
For i = PreviousItem To Count - 1 'تتم هنا الكتابة بصورة اعتيادية .. لكن العناصر تبدا من اخر عنصر في البيج التي تسبقها
d.InnerHtml += list(i) + "<br/>"
Button1.Enabled = False
Next
End If
ElseIf page = 1 Then 'اذا كانت الصفحة هي الاولى
For i = 0 To ItemsNumber - 1
d.InnerHtml += list(i) + "<br/>"
Button2.Enabled = False
Next
Else 'اذا لم تكن الصفحة الاولى او الاخيرة
Dim X As Integer = (page - 1) * ItemsNumber 'يتم تحديد العناصر التي يجب اضافتها
For i As Integer = X To X + ItemsNumber - 1 'تتم الاضافة
d.InnerHtml += list(i) + "<br/>"
Next
End If
lastpage = Pages.ToString
Else
Response.Redirect("?Page=1")
End If
Label1.Text = "Page " + page.ToString + " From " + Pages.ToString + " Pages"
Catch
Response.Redirect("?Page=1")
End Try
لمن يريد تحميل المثال من هنا
تحياتي ^_^
ملاحظة : تم تعديل المشاركة حيث كان هناك مشكلة نبهني عليها الاخ سعود جزاه الله خيرا .. وتم حلها بفضل الله
الشمس اجمل في بلادي من سواها .. و الظلام
حتى الظلام هناك اجمل فهو يحتضن العـــراق :o
حتى الظلام هناك اجمل فهو يحتضن العـــراق :o