• 0

سؤال

6 إجابة على هذا السؤال .

  • 0

و عليكم السلام و رحمة الله، و مرحباً بك عضواً جديداً بيننا أخي الكريم.

ماذا تعني بتقسيم الصفحات؟

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أشكرك أخي

أقصد مثلا عندما أقوم بعرض نتائج بحث من قاعدة بيانات في صفحة واحدة أقوم بتقسيمها إلى عدة صفحات كل صفحة تحتوي مثلا على عشرة نتائج وهكذا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هل تعني أن نتائج البحث تظهر علي datagrid ؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الأخ يسأل عن ال Custom Paging و طبعا هو من خصائص ال DataGrid.

من هنا تجد ما تريد

http://aspnet.4guysfromrolla.com/articles/091003-1.aspx

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

لقد قمت باستخدام هذا الكود و كان موجود في مقال على الانترنت و يمكن تعديله

وهو يستخدم فئة تسمى

PagedDataSource

و المثال مكون من اربع خطوات

اولا : خاصية تحديد الصفحة الحالية

Public Property CurrentPage() As Integer
       Get
           Dim o As Object = Me.ViewState("_CurrentPage")
           If o Is Nothing Then
               Return 0
           Else
               Return CType(o, Integer)
           End If
       End Get
       Set(ByVal Value As Integer)
           Me.ViewState("_CurrentPage") = value
       End Set
   End Property

ثانيا : الرجوع صفحة

Private Sub cmdPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPrev.Click
       CurrentPage -= 1
       ItemsGet()
   End Sub

ثالثا: التقدم صفحة

Private Sub cmdNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNext.Click
       CurrentPage += 1
       ItemsGet()
   End Sub

أخير: الدالة الرئيسية

و لا تنسى وضع مصدر البيانات في اول سطر

Private Sub ItemsGet()
       Dim Items As DataSet = ' هنا تحديد مصدر البيانات من قاعد البيانات
       Dim objPds As PagedDataSource = New PagedDataSource
       objPds.DataSource = Items.Tables(0).DefaultView
       objPds.AllowPaging = True
       objPds.PageSize = 5 '  هنا تحديد عدد العناصر في الصفحة

       objPds.CurrentPageIndex = CurrentPage

       lblCurrentPage.Text = "صفحة: " + (CurrentPage + 1).ToString() + " من " + objPds.PageCount.ToString()
       cmdPrev.Enabled = Not objPds.IsFirstPage
       cmdNext.Enabled = Not objPds.IsLastPage

       Repeater1.DataSource = objPds '  Repeater1 هو العنصر المستخدم لعرض البيانات
       Repeater1.DataBind()
   End Sub

و في بداية الصفحة يتم استدعاء هذه الدالة

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
       If Not IsPostBack Then
           ItemsGet()
       End If

   End Sub

و من المفتر وجود عناصر لتفيذ المثال و هي Repeater و يسمى Repeater1 او datagrid

label يعرض عدد الصفحات و الصفحة الحالية و يسمى lblCurrentPage

و عدد 2 button للتحرك في الصفحات

الاول يسمى cmdPrev

و الثاني cmdNext

كالتالي

<P align="center"><asp:label id="lblCurrentPage" runat="server"></asp:label></P>
<P align="center">
   <asp:button id="cmdPrev" runat="server" Text="سابق"></asp:button>
   <asp:button id="cmdNext" runat="server" Text="تالي"></asp:button>
</P>
 

ارجو من الله ان اكون قد افادتكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أشكركم جميعا على هذا التجاوب

وياأخ TODO شكر خاص على هذا الكود الذي كنت أبحث عنه منذ مدة ومن الواضح أنه مرتب وسهل الفهم سأحاول تجربته

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .