C# DevExpress Master-Detail 多列关系以编程方式

C# DevExpress Master-Detail multiple columns relation programmatically

我正在尝试对主从网格视图之间的多列关系进行编码。下面是我能够 link 主控 (tableSalesOrder) 和 ItemCode 上的详细信息 (tableDetail / tableDetail2) 之间关系的代码。

我尝试再添加 2 个关系,即 UOM 和 Location。我正在寻求建议,我该怎么做?我尝试 google 几天的解决方案。

orderData.Tables.Add(tableSalesOrder);
orderData.Tables.Add(tableDetail);
orderData.Relations.Add("PurchaseDetails", tableSalesOrder.Columns["ItemCode"], tableDetail.Columns["ItemCode"], false); 

orderData.Tables.Add(tableDetail2);
orderData.Relations.Add("SalesDetails", tableSalesOrder.Columns["ItemCode"], tableDetail2.Columns["ItemCode"], false);

gridControl1.ShowOnlyPredefinedDetails = false;
gridControl1.DataSource = tableSalesOrder;

我解决了

            orderData.Tables.Add(tableSalesOrder);
            orderData.Tables.Add(tableDetail);
            DataColumn[] parent1 = { tableSalesOrder.Columns["ItemCode"], tableSalesOrder.Columns["UOM"], tableSalesOrder.Columns["Location"] };
            DataColumn[] child1 = { tableDetail.Columns["ItemCode"], tableDetail.Columns["UOM"], tableDetail.Columns["Location"] };
            orderData.Relations.Add("PurchaseDetails", parent1, child1, false);
            orderData.Tables.Add(tableDetail2);
            DataColumn[] parent2 = { tableSalesOrder.Columns["ItemCode"], tableSalesOrder.Columns["UOM"], tableSalesOrder.Columns["Location"] };
            DataColumn[] child2 = { tableDetail2.Columns["ItemCode"], tableDetail2.Columns["UOM"], tableDetail2.Columns["Location"] };
            orderData.Relations.Add("SalesDetails", parent2, child2, false);
            gridControl1.ShowOnlyPredefinedDetails = false;
            gridControl1.DataSource = tableSalesOrder;