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

 
Một số hàm thao tác với shortcode trong wordpress

Một số hàm thao tác với shortcode trong wordpress

Bài viết thực hiện dựa trên tài liệu Wordpress ở phiên bản 3.5.1. Shortcode được giới thiệu từ phiên bản 2.5, nó sẽ thực hiện một số chức năng nào đó bằng việc tạo một đoạn mã theo cú pháp trong nội dung bài viết

Custom Android user interfaces: Time to show a little less ‘skin’

Custom Android user interfaces: Time to show a little less ‘skin’

Android Ice Cream Sandwich marks a new vision for Google’s mobile operating system. For the first time ever, it actually looks as if Google  had the consumer in mind and Android has never looked better.

Người dùng Việt đang biến hashtag thành trò spam nhảm

Người dùng Việt đang biến hashtag thành trò spam nhảm

Hashtag đang là một chủ đề hot trên mọi ngóc ngách của Facebook trong hai ngày qua. Tuy nhiên tính nay này đang bị “lạm dụng” một cách vô tội vạ, khiến Facebook trở nên xấu xí, và đi chệch những định hướng dành cho tính năng này.

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

 

Diet con trung