gpt4 book ai didi

javascript - SAPUI5 列表/组合框数据绑定(bind)替换为表

转载 作者:行者123 更新时间:2023-12-02 22:04:50 25 4
gpt4 key购买 nike

我必须用表格替换列表(组合框)中的数据绑定(bind)。重要的是我们添加过滤器以在组合框中具有正确的数据绑定(bind)。 o输入被定义为组合框:

            oInput.setModel(oView.getModel());
oInput.bindAggregation("items", "/shrhelpSet", oTemplete);

oFilterObject = new sap.ui.model.Filter("object", "EQ", that.g_object);
oFilterField = new sap.ui.model.Filter("field", "EQ",
that.g_TechNameArr[i]);
oFilterLang = new Filter("lang", "EQ", sCurrentLocale);
oFilters = new sap.ui.model.Filter([oFilterObject, oFilterField, oFilterLang], true);

oInput.getBinding("items").filter(oFilters);

我的问题是如何将其替换为与表格的绑定(bind)。我在 ValueHelpDialog 中使用 sap.ui.table。我有在数组中定义的固定列数据,现在我需要将列表绑定(bind)中的数据添加到行绑定(bind)的数组中。我定义了一个数组“aData”,其中必须使用过滤器放置数据集/shrhelpSet 的数据。我尝试过

    //var aData = this.getModel().getData("/shrhelpSet").filter(oFilters);

但这是错误的做法。

        // array with fix column names
var aColumnData = [{
columnId: "Key"
}, {
columnId: "Value"
}];

//var aData = this.getModel().getData("/shrhelpSet").filter(oFilters);

var oModel2 = new sap.ui.model.json.JSONModel();

oModel2.setData({
columns: aColumnData,
rows: aData
});

oTable.setModel(oModel2);

oTable.bindColumns("/columns", function(index, context) {
var sColumnId = context.getObject().columnId;
//alert(sColumnId);
return new sap.ui.table.Column({
id : sColumnId,
label: sColumnId,
template: sColumnId
});
});
oTable.bindRows("/rows");

最佳答案

尝试将过滤器添加到行聚合的绑定(bind)中,就像之前对输入的项目聚合所做的那样。

oTable.getBinding("rows").filter(oFilters);

这必须在代码段的最后一行之后完成(在绑定(bind)行之后)。

关于javascript - SAPUI5 列表/组合框数据绑定(bind)替换为表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59751504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com