これが可能かどうかはわかりませんが... 3 つのテーブルがあります: CustomerTable OrderHeaderTable OrderDetailTable
リレーションシップは、CustomerTable.CustomerNumber から OrderHeaderTable.CustomerNumber、OrderHeaderTable.OrderNumber から OrderDetail.OrderNumber です。
DevExpress XtraGrid を使用して情報を表示し、SQL ストアド プロシージャを使用してデータを取得しています。
OrderHeader と OrderDetail の間の関係を形成してグリッドに表示できるようにしたい/必要がありますが、これまでに使用したコード内でこれを機能させる方法がわかりません。
VBコードは次のとおりです。
Dim bsOrders As New BindingSource
Dim dsDataSetOrders As New DataSet
Dim daDataAdapter As New SqlDataAdapter
Using cmd As New SqlClient.SqlCommand("spViewOrders", GetOpenConnection) With {.CommandType = CommandType.StoredProcedure}
With cmd.Parameters
.Add(New SqlParameter("@Action", SqlDbType.Int)).Value = 44
.Add(New SqlParameter("@Exists", SqlDbType.Int)).Direction = ParameterDirection.InputOutput
End With
daDataAdapter.SelectCommand = cmd
daDataAdapter.Fill(dsDataSetOrders, "Orders")
dsDataSetOrders.Relations.Add(New DataRelation("OrderHeader", dsDataSetOrders.Tables(0).Columns("Customer #"), _
dsDataSetOrders.Tables(1).Columns("Customer #")))
bsOrders.DataSource = dsDataSetOrders
bsOrders.DataMember = "Orders"
End Using
GridControl1.DataSource = bsOrders
GridView1.BestFitColumns()