假设有两个实体表,即Customer和Order,其中包含以下字段: 客户 - > Id,CustomerName,OrderId 命令 - > Id,CustomerId,OrderName
现在在Odata服务中,还定义了关联以及导航属性,即
"Customers" navigates ("Customer_Orders" as "HisOrders");
association "Customer_Orders" principal "Customers"("ID") multiplicity "1"
dependent "Orders"("CustomerID") multiplicity "*";
在webapp中,myview.xml存在一个包含3列的表:CustomerId,CustomerName,OrderName。
我将行的绑定添加为items={/Customers}
对于CustomerId和CustomerName列,我使用了以下内容:{CustomerId} and {CustomerName}
但是如何在xml视图中绑定OrderName列?
答案 0 :(得分:2)
尝试这种方式:
<Label text="Order ID"/>
<Text text="{OrderID}" objectBindings="{Customer_Orders}" />
这里我假设"Customer_Orders"
是NavigationProperty的名称,"OrderID"
是导航目标的属性。
答案 1 :(得分:1)
您必须使用OData $ expand来获取Order实体以及Customer。我假设您的实体集称为“客户”和“订单”(通常是CustomerSet和OrderSet)。
在XMLView中你应该做某事。像这样:
<Table items="{
path: '/Customers',
parameters: {
expand: 'Orders'
}
}">
然后你的列绑定就像:
{Orders/OrderName}
我必须承认,我没有以1:1的关系做到这一点,但它基本上应该像这样工作。如果它仍然不起作用,请发布您的代码和metadata.xml。
BR 克里斯