ایجاد صفحه بندی در GridView
شنبه 2 مرداد 1395دراین مقاله نحوه پیاده سازی صفحه بندی در GridView را با استفاده از سی شارپ را توضیح می دهیم .صفحه بندی GridView در Code Behind با استفاده از رویداد OnPageIndexChanging انجام می شود.
بانک اطلاعاتی
برای Attach کردن بانک اطلاعاتی میتوان به مقاله زیر مراجعه کنید.
استفاده از پایگاه داده NorthWind در SqlServer
Html
صفحه html آن شامل یک Grid View با چهار ستون BoundField است خصوصیت AllowPaging را True قرار داده و برای صفحه بندی از رویداد OnPageIndexChanging استفاده کرده اند.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"AllowPaging="true" OnPageIndexChanging="OnPageIndexChanging" PageSize="10"> <Columns> <asp:BoundField ItemStyle-Width="150px" DataField="CustomerID" HeaderText="Customer ID" /> <asp:BoundField ItemStyle-Width="150px" DataField="ContactName"HeaderText="Contact Name" /> <asp:BoundField ItemStyle-Width="150px" DataField="City" HeaderText="City" /> <asp:BoundField ItemStyle-Width="150px" DataField="Country" HeaderText="Country" /> </Columns> </asp:GridView>
NameSpace های مورد نیاز
using System.Data; using System.Data.SqlClient; using System.Configuration;
پر کردن GridView از پایگاه داده
در داخل رویداد لود صفحه GridView با رکوردی از جدول ساخته داده ها نشان داده می شود.
protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { this.BindGrid(); } } private void BindGrid() { string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; using (SqlConnection con = new SqlConnection(constr)) { using (SqlCommand cmd = new SqlCommand("SELECT CustomerId, ContactName, City, Country FROM Customers")) { using (SqlDataAdapter sda = new SqlDataAdapter()) { cmd.Connection = con; sda.SelectCommand = cmd; using (DataTable dt = new DataTable()) { sda.Fill(dt); GridView1.DataSource = dt; GridView1.DataBind(); } } } } }
پیاده سازی صفحه بندی در GridView
Event handler زیر زمانی اجرا می شود که صفحه در Gridview تغییر کند.مقدار PageIndex صفحه که بر روی آن کلیک شده است در Property ای به نام NewPageIndex در شی GridViewPageEventArgs قرار دارد و بر روی Property ای به نام PageIndex از GridView تنظیم شده است و GridView مجددا با فراخوانی تابع BindGrid پر می شود.
protected void OnPaging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; GridView1.DataBind(); }
خروجی برنامه:
- ASP.net
- 4k بازدید
- 1 تشکر