قبل بضعة أيام، كتبت عن <<تنفيذ الترحيل في الإجراءات المخزنة>> و<<شرح تفصيلي لأحداث التحكم في GridView>>. لاحقًا، سألني بعض الأشخاص عن كيفية تطبيق هذه الأشياء في GridView، في الواقع، الأمر بسيط جدًا بشكل أساسي، هناك مشكلة في حفظ رقم الصفحة PageIndex للصفحة الحالية، ولكن كل شيء أسهل في الحل لأنه في عملية الترحيل: حجم الصفحة مؤكد، يمكننا استخدام سمة لتمثيلها احفظ PageIndex، ولن تكون البيانات كبيرة جدًا. في الأساس، لن يكون هناك الكثير من الموارد. كما يقول المثل القديم، بغض النظر عن عدد الكلمات التي يتم نطقها، لا توجد أمثلة بديهية
هنا لحفظ PageIndex، وهو رقم الصفحة الحالية، عند النقر على الصفحة السابقة، سيتم تقليل قيمتها أولاً، ومن المعروف أنها 0. شيء واحد يجب ملاحظته هو أن رقم الصفحة الأولى هنا هو 0 بدلاً من 1. دعونا نلقي نظرة على الكود، ثم سنقوم بتحليله!
1
2 <الأعمدة>
3
4 5 DataTextField = "العنوان" HeaderText = "عنوان الأخبار" ItemStyle-Width = "70٪"/>
6
7 8 ShowEditButton="True"/>
9 الأعمدة>
10
11
12
13
الصفحة الرئيسية 14
الصفحة السابقة 15
الصفحة التالية 16
الصفحة الأخيرة 17
الكود في ملف CS:
1 PagerButton_Click (مرسل الكائن، EventArgs e) باطل محمي
2 {
3 int pageIndx = Convert.ToInt32(CurrentPage.Value);
4 إجماليات int = NewsManager.GetNews(0, pageSize).TotalRecords;
5 صفحات int = (الإجماليات٪ حجم الصفحة) == 0 (الإجماليات / حجم الصفحة) : (الإجماليات / حجم الصفحة + 1)؛
6 string arg = ((LinkButton)sender).CommandArgument.ToString().ToLower();
7 التبديل (أرج)
8 {
9 حالة "السابق":
10 إذا (pageIndx > 0)
11 {
12 صفحة إندكس -= 1;
13}
14 استراحة؛
15 حالة "التالي":
16 إذا (pageIndx < الصفحات - 1)
17 {
18 pageIndx += 1;
19}
20 استراحة؛
21 حالة "الأخيرة":
22pageIndx = pages - 1;
23 استراحة؛
24 الافتراضي:
25 صفحة إندكس = 0;
26 استراحة؛
27}
28 CurrentPage.Value = pageIndx.ToString();
29 NewsGrid.DataSource = NewsManager.GetNews(pageIndx, pageSize).Entities;
30 NewsGrid.DataBind();
31}
أليس الأمر بسيطًا جدًا؟ سوف تفهمه بعد قراءة الكود. لن أخوض في التفاصيل هنا حول استخدام الأزرار لتمرير المعلمات. هناك أيضًا سمة الكيانات في فئة كيان التطبيق EntitySet التي تنفذ وظائف عامة مماثلة > هنا يمكن العثور عليها في المقالات
http://www.cnblogs.com/xdotnet/archive/2006/09/29/gridview_paging_myself.html