我在Grid下有一个StandardListItem元素列表,并希望使用json模型将它们绑定到json文件。 这就是我在控制器中进行绑定的方法。我相信这部分是正确的,因为我正以这种方式为桌子做这件事。
var pricingModel = new JSONModel("./model/evaluation.json");
//set model(s) to current xml view
this.getView().setModel(pricingModel, "pricingModel");
这是我的xml视图的一部分,我正在尝试绑定我的数据
<l:Grid class="sapUiSmallMarginTop"
id="priceEvalGridContainer" visible="false"
binding="{/PriceEstimate}">
<l:content>
<l:VerticalLayout id="priceEvalCol1" width="100%">
<StandardListItem title="NSN"
info="{NSNID}"/>
<StandardListItem title="DLA Price Estimate (DLA)"
info="{DLAPriceEstimate}"/>
<StandardListItem title="Proposed Price"
info="$20.00" />
</l:VerticalLayout>
<l:VerticalLayout id="priceEvalCol2" width="100%">
<StandardListItem title="$ Difference From DLA" info="$1.50" />
<StandardListItem title="Total Price Difference" info="$135.00" />
<StandardListItem title="PPI Price Adjusted For Inflation" info="$18.59" />
</l:VerticalLayout>
</l:content>
</l:Grid>
我已经对很多值进行了硬编码,因为我无法正确连接数据。现在测试的唯一项目是info =“{NSNID}”和info =“{DLAPriceEstimate}”
我已经看到了如何将List或Grid中的StandardListItem与其他类型的对象绑定的示例,但还没有看到它是一起完成的。
我尝试以下列方式进行绑定,但它对我不起作用。
<l:Grid class="sapUiSmallMarginTop"
id="priceEvalGridContainer" visible="false"
binding="{
path: '/PriceEstimate'
}">
应用程序运行没有问题,并且没有显示错误,但数据未显示在网格中。它只是空白。
答案 0 :(得分:1)
this.getView().setModel(pricingModel, "pricingModel");
由于您使用的是命名模型,请使用:
binding="{pricingModel>/PriceEstimate}"
如果此数据JSON是一个数组,您可能必须在内容中给出索引,如:
info="{pricingModel>0/NSNID}"
其他:info="{pricingModel>NSNID}"
会这样做。 (同样适用于其他人)
无论哪种方式,它取决于数据。请添加 pricingModel
的外观。