Hướng dẫn tạo Master-Detail trong Grid Control.
Hôm nay, mình xin hướng dẫn các bạn tạo Master Detail trong Grid Control của Devexpress. Master Detail giống như một sub grid trong girdcontrol.
Để tạo được master detail các bạn 2 data table đổ vào chung một dataset. Và sau đó, tạo quan hệ giữa 2 khóa.
Như trong ví dụ, mình tạo Relationship qua filedName CustomerID.
Demo dưới sử dụng 2 bảng table: Customers và Orders. Bây giờ, mình muốn hiển thị 1 Gridview là danh sách khách hàng, khi nhấn vào khách hàng nào sẽ liệt kê tất cả các đơn hàng của khách hàng đó. Hiển thị thông tin chi tiết của đơn đặt hàng: sản phẩm, địa chỉ, thời gian giao hàng, điện thoại...
Hình ảnh ứng dụng:
Video hướng dẫn step by step tạo Sub Grid trong Devexpress:
Hướng dẫn code ứng dụng
1. Đầu tiên các bạn cần import thư viện vào
Imports System.ComponentModel
Imports System.Text
Imports System.Data.SqlClient
2. Tạo các kết nối đến database
Dim con As New SqlConnection
Public Sub taoketnoi()
Dim strKetnoi As String = "Data Source=.;Initial Catalog=NORTHWND;Integrated Security=True"
con.ConnectionString = strKetnoi
con.Open()
End Sub
Public Sub dongketnoi()
con.Close()
End Sub
Public Function _layDuLieu(query As String) As DataTable
taoketnoi()
Dim datatable As New DataTable
Dim da As New SqlDataAdapter
da.SelectCommand = New SqlCommand(query, con)
da.Fill(datatable)
dongketnoi()
Return datatable
End Function
3. Viết hàm form_load để chạy ứng dụng
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dataset As New DataSet
Dim customers As DataTable = _layDuLieu("select CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Country, Phone, Fax from Customers")
Dim orders As DataTable = _layDuLieu("select OrderID, CustomerID, OrderDate, ShipName, ShipAddress, ShipCity, ShipCountry from Orders")
customers.TableName = "Customers"
orders.TableName = "Orders"
' add table to dataset
dataset.Tables.Add(customers)
dataset.Tables.Add(orders)
' tao relation
dataset.Relations.Add("Đơn hàng", customers.Columns("CustomerID"), orders.Columns("CustomerID"))
GridControl1.DataSource = dataset
GridControl1.DataMember = "Customers"
End Sub
Chúc các bạn thành công. Mọi câu hỏi thắc mắc đến bài viết xin truy cập http://hoidap.laptrinhvb.net để được support.
ĐỪNG QUÊN LIKE AND SHARE NHA CÁC BẠN.
CÁM ƠN CÁC BẠN ĐÃ THEO DÕI.