我希望将数据绑定到表headerText,但不幸的是,我无法绑定到表头数据。
是否可以将数据绑定到表头。页眉未显示“空白”,
<Table id="BoM"
headerText="{oModelBoM>/ItemCateg}"
class="sapUiResponsiveMargin" width="auto"
items="{path:'oModelBoM>/'}">.js
getProductBoM : function(iNumber){
var sNumber = iNumber.toString();
while (sNumber.length < 18) {
sNumber = "0" + sNumber
}
// var vUriRead = "/ProductHead2BOM/?$filter=Material%20eq%20'" + sNumber + "'";
var vUriRead = "/ProductHeadSet('" + sNumber + "')/ProductHead2BOM";
var oResult;
this.initODataModel( );
this.oDataModel.read(vUriRead, null, null, false, function(oData, oResponse) {
oResult = oData;
}, function(oError) {
jQuery.sap.log.error("OData-Error in function getProductBoM (EntityProductHead2BOM)");
zplm_homepage.zplm_homepage.src.odata.displayRequestFailedMessage(oError);
});
return oResult;controller.js
onInit : function() {
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.attachRouteMatched(this.handleRouteMatched, this);
this.oModelBoM = new sap.ui.model.json.JSONModel();
this.getView().setModel(this.oModelBoM, "oModelBoM");
}
handleRouteMatched : function(oEvent) {
if (oEvent.getParameter("name") === "ListDetailView") {
var iNumber = oEvent.getParameter("arguments").number;
var oBoM = zplm_homepage.zplm_homepage.src.odata.getProductBoM(iNumber);
this.oModelBoM.setData(oBoM.results);发布于 2018-12-04 12:19:38
看起来您正在尝试将集合"/ItemCateg“绑定到表的headerText,而它只需要一个字符串:see here
因此,您可以检查"/ItemCateg“中返回的内容,并通过将属性绑定到headerText而不是数组来修复该问题。您也可以在控制器中使用setHeaderText(“someValue”)方法来完成此操作;
这个plunker展示了如何做到这一点。
this.getView().byId("tableId").setHeaderText("yourValue");
这个链接可能会帮助您更多地了解SAPUI5:binding types SAPUI5中的聚合与属性绑定
如果这有帮助,请告诉我。
发布于 2018-12-12 23:22:23
看起来我已经找到了上述问题的解决方案。我没有调用数组,而是直接将属性名绑定到头文件。
_onTableUpdateFinished: function(oEvent){
var sHeaderText = oEvent.getSource().getModel("oModelBoM").getData()[0].BomNumber
this.getView().byId("BoM").setHeaderText(sHeaderText );}
https://stackoverflow.com/questions/53592123
复制相似问题