صفحه بندی در مثال GridView با ASP.Net
با سلام در این مقاله نحوه اجرای صفحه بندی در کنترل GridView در ASP.Net با استفاده از C # و VB.Net توضیح خواهیم داد.
بانک اطلاعات
در اینجا از پایگاه داده Northwind استفاده می کنیم که میتانید از لینک زیر دانلود کنید .
پایگاه داده Northwind را دانلود و نصب کنید
کد HTML
کد HTML زیر شامل یک GridView با چهار ستون BoundField است. به منظور پیاده سازی صفحه بندی در GridView ، ویژگی 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>
فضاهای نام
باید نامهای زیر را وارد کنید.
C #
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
VB.Net
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
GridView از پایگاه داده
در داخل رویداد GridView ، Page Load با سوابق جدول مشتریان در پایگاه داده Northwind جمع شده است.
C #
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();
}
}
}
}
}
VB.Net
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Me.BindGrid()
End If
End Sub
Private Sub BindGrid()
Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
Using con As New SqlConnection(constr)
Using cmd As New SqlCommand("SELECT CustomerId, ContactName, City, Country FROM Customers")
Using sda As New SqlDataAdapter()
cmd.Connection = con
sda.SelectCommand = cmd
Using dt As New DataTable()
sda.Fill(dt)
GridView1.DataSource = dt
GridView1.DataBind()
End Using
End Using
End Using
End Using
End Sub
پیاده سازی صفحه بندی در GridView
هنگام تغییر صفحه در GridView ، رویداد handler زیر اجرا می شود.
مقدار PageIndex از صفحه ای که کلیک شده است در داخل ویژگی NewPageIndex در شیء GridViewPageEventArgs وجود دارد و با استفاده از عملکرد BindGrid دوباره به ویژگی PageIndex اختصاص داده می شود و GridView مجدداً جمع می شود.
C #
protected void OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
this.BindGrid();
}
VB.Net
Protected Sub OnPageIndexChanging(sender As Object, e As GridViewPageEventArgs)
GridView1.PageIndex = e.NewPageIndex
Me.BindGrid()
End Sub