[ASP.NET] Hiển thị dữ liệu trên GridView (cách đơn giản)


Bài này hướng dẫn bạn cách hiển thị dữ liệu trên GridView một cách đơn giản nhất.

Nếu bạn chưa biết, GridView là một điều khiển kết gán dữ liệu của ASP.NET (phiên bản 1.x gọi là DataGrid). Nó không những cho phép hiển thị dữ liệu theo dạng bảng (hàng x cột) mà còn cung cấp các tính năng tương tác với người dùng như Sắp xếp, Phân trang, cập nhật dữ liệu, ...

Trong bài này, tôi sẽ hướng dẫn bạn các thao tác ban đầu để hiển thị dữ liệu lên GridView.

Bước 1: Đưa GridView vào WebForm của bạn

Bạn có thể kéo GridView từ Toolbox vào WebForm hoặc gõ đoạn mã sau vào phần nguồn của WebForm

<asp:GridView ID="grvProducts" runat="server" AutoGenerateColumns="true" />

Thuộc tính AutoGenerateColumns mặc định bằng True sẽ khiến cho GridView tự động hiển thị các cột tương ứng với các trường dữ liệu đang có trong nguồn dữ liệu được kết gán.

Bước 2: Lập trình bind dữ liệu lên GridView

  1. Hàm hỗ trợ lấy dữ liệu cần hiển thị ra DataTable/DataSet/ ... hoặc một đối tượng là thể hiện của IListSource, IEnumerable, hay IDataSource

    1. private DataTable layProducts()
    2.     {
    3.         string sConnectionString = ConfigurationManager.ConnectionStrings["NorthwindCNN"].ConnectionString;
    4.         using (SqlConnection Cnn = new SqlConnection(sConnectionString))
    5.         {
    6.             using (SqlCommand Cmd = Cnn.CreateCommand())
    7.             {
    8.                 Cmd.CommandType = CommandType.Text;
    9.                 Cmd.CommandText = "Select ProductID, ProductName, UnitPrice "
    10.                 + " From Products";
    11.                 using (SqlDataAdapter daNorthwind = new SqlDataAdapter(Cmd))
    12.                 {
    13.                     DataTable table = new DataTable("Products");
    14.                     daNorthwind.Fill(table);
    15.                     return table;
    16.                     
    17.                 }
    18.             }
    19.         }
    20.     }

    Chú ý: bạn cần đặt ConnectionString "NorthwindCNN" chứa thông số kết nối đến CSDL Sql Server Northwind trong Web.config nếu viết theo đoạn code trên nhé
  2.  Lấy dữ liệu, gán vào thuộc tính DataSource rồi gọi phương thức DataBind()

    1. using (DataTable tblProducts = layProducts())
    2.         {
    3.             grvProducts.DataSource = tblProducts;
    4.             grvProducts.DataBind();
    5.         }

 Bạn có thể download file đính kèm để xem cụ thể ví dụ này.
Chúc bạn thành công.


( đã được xem 22496 lần từ 04/04/2011 )

Tệp đính kèm

  1. GridView01.zip(2567 lượt tải về)

Phản hồi bài viết

   
Họ tên  
Email*
Mã xác thực email
Tiêu đề*
Nội dung*
Đính kèm 
 
 
Nguyên huunguyen.tiny@...
Chèn ảnh vào cơ sở dữ liệu và hiện thị bằng gridview
Em muốn thêm dữ liệu là hình ảnh vào trong cơ sở dữ liệu thì phải thêm như thế nào ah?
Em thấy trong form http://softvnn.com/forum/showthread.php?t=221419
nó hiển thị ảnh theo kiểu gridview? thế phải làm như thế nào ah? anh có thể demo cho em được ko ah? cảm ơn anh nhiều!
dthvinh hongvinhcp@...
Hỏi về gridview
Trò dùng VB.NET để lập trình, cũng mới thử nghiêm với nó nên còn nhiều lúng túng, hiện tại có dùng C1 grid View để thể hiện dữ liệu trong một cái Webform, nhưng khi muốn lấy dl từ từng cell trong gridview đó ra các text box thì k lấy ra được. Thầy có thể xem code và giúp phần này không
private sub gridDisplay_SelectedIndexChanged(ByVal sender As Object,ByVal e As System.EventArgs) Handles gridDisplay.SelectedIndexChanged
txtThemMa.Text=gridDisplay.Rows(gridDisplay.SelectedIndex).Cell(1).Text
txtThemTen.Text=gridDisplay.Rows(gridDisplay.SelectedIndex).Cell(2).Text

End Sub
Lê Minh Tiến minhtien_87@...
Cảm Ơn
Cảm ơn anh rất nhiều
Hoang Ngoc Hung hung07b5@...
e cảm ơn thầy.
cảm ơn thầy về bài viết.
Trang 1
Tôi là Lê Hữu Dũng
Giảng viên CNTT
Khoa Công nghệ Tin học
Viện Đại học Mở Hà Nội