ایجاد صفحه بندی در GridView

شنبه 2 مرداد 1395

دراین مقاله نحوه پیاده سازی صفحه بندی در GridView را با استفاده از سی شارپ را توضیح می دهیم .صفحه بندی GridView در Code Behind با استفاده از رویداد OnPageIndexChanging انجام می شود.

ایجاد صفحه بندی در GridView

بانک اطلاعاتی

برای 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();
}

خروجی برنامه:

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید