ASP.Net – Phân trang trên Data GridView

ASP.Net – Phân trang trên Data GridView

Chào mọi người, ở phần trước viết về Data GridView mình quên nói với các bạn phần phân trang trên Data GridView, phần này cũng khá là quan trọng và sẳn mình sẽ giúp các bạn hiển thị số thứ tự đúng khi phân trang GridView.

So với phần trước là phân trang trên DataList thì phần này có vẻ đơn giản hơn nhiều, bạn sẽ tạo một danh sách với đánh dấu số thứ tự, đặc điểm của GridView là trình bày theo bảng dữ liệu nên việc đánh dấu STT gần như là cần thiết, nhưng làm cho nó được đúng khi phân trang cũng là vấn đề.

Phân trang trên Data GridView

Đầu tiên mình xin mô tả bảng dữ liệu của mình demo như sau:

ASP.Net – Phân trang trên Data GridView

Demo dữ liệu phân trang GridView

Viết hàm kết nối CSDL.

protected void load_data()

{

    SqlConnection con = new SqlConnection("server=.; database=bcdonlinenet; integrated security = true;");

    SqlDataAdapter da = new SqlDataAdapter("select * from tbUser", con);

    DataTable tb = new DataTable();

    da.Fill(tb);

    gvUser.DataSource = tb;

    gvUser.DataBind();

}

protected void Page_Load(object sender, EventArgs e)

{

    if (IsPostBack == false)

    {

        load_data();

    }

}

Mình sẽ không giải thích phần này nữa các bạn mới học về ASP.Net thì xem lại bài trước mình nói về Grid View ở trên nha!. Sau đó bạn kéo Data GridView vào trong phần soạn thảo, đặt tên add các thuộc tính và Eval dữ liệu vào trong Data GrdView.

Tiếp theo bạn bật chức năng phân trang của GridView lên bằng cách làm như hình sau:

Kích hoạt chức năng phân trang Data GridView

Kích hoạt chức năng phân trang Data GridView

Ở thuộc tính (propeties) của GridView mình kéo vào set AllowPaging = true; PageSize là số bài trong một trang ở đây mình chọn 3 vì dữ liệu demo phân trang ít.

Sẳn đây bạn bật sự kiện PageIndexChanging để tí nữa mình sẽ sử dụng trong việc lấy số thứ tự của bảng.

Kích hoạt PageIndexChanging trong Data Grid

Kích hoạt PageIndexChanging trong Data Grid

Tiếp đến mình khai báo biến số thứ tự(stt) và hàm lấy giá trị stt++ và Convert về kiểu string.

int stt = 1;

public string get_stt()

{

    return Convert.ToString(stt++);

}

Tiếp theo bạn xử lý trong PageIndexChanging:

protected void gvUser_PageIndexChanging(object sender, GridViewPageEventArgs e)

{

    gvUser.PageIndex = e.NewPageIndex;   //trang hien tai

    int trang_thu = e.NewPageIndex;      //the hien trang thu may

    int so_dong = gvUser.PageSize;       //moi trang co bao nhieu dong

    stt = trang_thu * so_dong + 1;

    load_data();

}

Bạn nhớ là gọi hàm get_stt() trong Template STT ở GridView nha!

<!--

<asp:TemplateField HeaderText="STT">

      <ItemTemplate><%#get_stt() %></ItemTemplate>

</asp:TemplateField>

-->

Kết quả chúng ta được như sau:

Demo phân trang Data GridView trong ASP.Net

Demo phân trang Data GridView trong ASP.Net

Kết luận: Bạn dễ dàng thấy khi qua trang 2 mà số thứ tự vẫn đúng, cách này theo mình là đơn giản và dễ sử dụng nhất. Còn có nhiều cách làm khác nữa các bạn tìm hiểu thêm và chia sẻ cho mọi người nha! Mong là bài phân trang trên Data GridView sẽ giúp được các bạn! Chúc thành công!

Download File DEMO Phân trang trên Data GridView

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Mai Ngọc sinh năm 1990. Là một trong những hotgirl Hà thành đời đầu, Mai Ngọc ghi dấu ấn với các bản tin thời tiết của VTV trước khi chuyển qua làm thời sự. Năm 2019, Mai Ngọc bắt đầu dẫn bản tin Thời sự Việt Nam hôm nay lúc 17h30 của VTV và là một trong những gương mặt quen thuộc của bản tin này từ đó đến nay

Tin nóng ngày 3.5.2021 - trước khi hành động nên quan sát các cảm giác trên thân

Con người hay có xu hướng Chê bai người khác khi cho rằng điều này họ làm sai, làm chưa đúng và phẫn nộ khi điểu đó có những hậu quả rất lớn.

Entity Views Attach: sử dụng cho hầu hết Views trong Drupal 7

Entity Views Attach: sử dụng cho hầu hết Views trong Drupal 7

Entity Views Attach (EVA) is a wonderfully useful Drupal module which makes Views more powerful.

Yu Pan là đồng sáng lập PayPal

12 khai quốc công thần của YouTube giờ đang làm gì?

Hiện tại, ông đã rời công ty và chuyển sang làm kỹ sư phần mềm cho Origin Protocol - doanh nghiệp được sáng lập bởi cựu nhân viên YouTube Matthew Liu

Công ty diệt chuột T&C

 

Diet con trung