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

 

Hướng Dẫn Không cho người khác xem avatar Facebook

Để người khác không thể xem được ảnh đại diện facebook của bạn thì một cách

4 lá thư tay năm 2013 khiến dân mạng nhớ mãi

Ba trong số 4 bức thư cảm động này do trẻ em tiểu học viết, lời lẽ chân thành và trong sáng của các em khiến nhiều người rớt nước mắt.

Achieve Rocketship-Fast Jobs in CircleCI by Preinstalling the Database

Sử dụng CircleCI làm environment for testing trong Drupal 8

CircleCI is great at enabling developers to spin up an environment for testing from a set of defined images. When dealing with a website with a database, the usual build process involves downloading a database dump

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

 

Diet con trung