فكرة التنفيذ هي نفس فكرة تصدير Excel وWord أعلاه، وهي إضافة صفوف في GridView أولاً، قم بتعريف عناصر التحكم التالية لعرض رقم الصفحة: أي صفحة، كم عدد الصفحات في المجموع، كم عدد السجلات، الصفحة الرئيسية ، الصفحة السابقة، الصفحة التالية، عناصر التحكم في الصفحة الأخيرة للترحيل
تسمية lblCurrentPage؛
تسمية lblPageCount؛
تسمية lblRowsCount؛
LinkButton btnFirst;
LinkButton btnPrev;
LinkButton btnNext;
LinkButton btnLast؛ في طريقة OnInit الخاصة بـ GridView، قم بتهيئة عناصر التحكم هذه، قم بتهيئة عنصر التحكم في الترحيل في طريقة Oninit الخاصة بعنصر التحكم.
تجاوز محمي باطل OnInit (EventArgs e)
{
this.EnableViewState = true;
lblCurrentPage = new Label();
lblCurrentPage.ForeColor = ColorTranslator.FromHtml("#e78a29");
lblCurrentPage.Text = "1";
lblPageCount = new Label();
lblPageCount.Text = "1";
lblRowsCount = new Label();
lblRowsCount.ForeColor = ColorTranslator.FromHtml("#e78a29")
;
btnFirst.Text = "الصفحة الرئيسية";
btnFirst.Command += new CommandEventHandler(NavigateToPage);
btnFirst.CommandName = "بيجر";
btnFirst.CommandArgument = "First";
btnPrev = new LinkButton();
btnPrev.Text = "الصفحة السابقة";
btnPrev.Command += new CommandEventHandler(NavigateToPage);
btnPrev.CommandName = "بيجر";
btnPrev.CommandArgument = "السابق";
btnNext = new LinkButton();
btnNext.Text = "الصفحة التالية";
btnNext.Command += new CommandEventHandler(NavigateToPage);
btnNext.CommandName = "بيجر";
btnNext.CommandArgument = "التالي";
btnLast = new LinkButton();
btnLast.Text = "الصفحة الأخيرة";
btnLast.Command += new CommandEventHandler(NavigateToPage);
btnLast.CommandName = "بيجر";
btnLast.CommandArgument = "Last"
;
}
الجزء الأساسي من التعليمات البرمجية هو كيفية إضافة عناصر التحكم هذه إلى GridView عن طريق إنشاء عناصر تحكم فرعية، كما يلي:
إضافة عناصر تحكم الترحيل في طريقة إنشاء عناصر التحكم التابعة
تجاوز محمي int CreateChildControls(System.Collections.IEnumerable dataSource, bool dataBinding)
{
int res = base.CreateChildControls(dataSource, dataBinding);
إذا (شوتولبار)
{
يحاول
{
GridViewRowrow = new GridViewRow(0, 0, DataControlRowType.Pager, DataControlRowState.Normal);
TableCell c = new TableCell();
c.Width = Unit.Percentage(100);
c.ColumnSpan = this.Columns.Count;
Row.Cells.Add(c);
TableCell cell1 = new TableCell();
جدول الجدول = جدول جديد ()؛
TableRow r = new TableRow();
table.Rows.Add(r);
table.Width = Unit.Percentage(100);
c.Controls.Add(table);
r.Cells.Add(cell1);
الحرفي l1 = الحرفي الجديد ()؛
l1.Text = "الصفحة:";
cell1.Controls.Add(l1);
cell1.Wrap = false;
cell1.Controls.Add(lblCurrentPage);
l1 = حرفي جديد();
l1.Text = "الصفحة/";
cell1.Controls.Add(l1);
cell1.Controls.Add(lblPageCount);
l1 = حرفي جديد();
l1.Text = "الصفحة، الإجمالي";
cell1.Controls.Add(l1);
cell1.Controls.Add(lblRowsCount);
l1 = حرفي جديد();
l1.Text = "سجل";
cell1.HorizontalAlign = HorizontalAlign.Left;
cell1.Controls.Add(l1);
TableCell cell2 = new TableCell();
cell2.HorizontalAlign = HorizontalAlign.Right;
cell2.Wrap = false;
l1 = حرفي جديد();
l1.Text = "[";
cell2.Controls.Add(l1);
cell2.Controls.Add(btnFirst);
l1 = حرفي جديد();
l1.Text = "] "؛
cell2.Controls.Add(l1)
;
l1.Text = "[";
cell2.Controls.Add(l1);
cell2.Controls.Add(btnPrev);
l1 = حرفي جديد();
l1.Text = "] "؛
cell2.Controls.Add(l1)
;
l1.Text = "[";
cell2.Controls.Add(l1);
cell2.Controls.Add(btnNext);
l1 = حرفي جديد();
l1.Text = "] "؛
cell2.Controls.Add(l1)
;
l1.Text = "[";
cell2.Controls.Add(l1);
cell2.Controls.Add(btnLast);
l1 = حرفي جديد();
l1.Text = "] "؛
cell2.Controls.Add(l1);
r.Cells.Add(cell2);
this.Controls[0].Controls.AddAt(0,row);
}
يمسك
{
}
}
دقة العودة؛
}ما يلي هو الحدث الذي يتعامل مع الترحيل، المشابه لـ RowCommand
NavigateToPage الفراغ العام (مرسل الكائن، CommandEventArgs e)
{
btnFirst.Enabled = true;
btnPrev.Enabled = true;
btnNext.Enabled = true;
btnLast.Enabled = true;
التبديل (e.CommandArgument.ToString())
{
الحالة "السابق":
إذا (this.PageIndex > 0)
{
this.PageIndex -= 1
;
استراحة؛
الحالة "التالي":
إذا (this.PageIndex < (this.PageCount - 1))
{
this.PageIndex += 1
;
استراحة؛
الحالة "الأولى":
this.PageIndex = 0;
استراحة؛
الحالة "الأخيرة":
this.PageIndex = this.PageCount - 1;
استراحة؛
}
إذا (this.PageIndex == 0)
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
إذا (this.PageCount == 1)
{
btnLast.Enabled = false;
btnNext.Enabled = false;
}
}
وإلا إذا (this.PageIndex == this.PageCount - 1)
{
btnLast.Enabled = false;
btnNext.Enabled = false;
}
OnBind();
}وبهذه الطريقة، يمكن تحقيق الترحيل المخصص بسهولة. مرحبًا بك في الانضمام إلينا.