gpt4 book ai didi

javascript - SAPUI5 中的过滤器即

转载 作者:行者123 更新时间:2023-11-30 08:46:03 26 4
gpt4 key购买 nike

我正在尝试在表格和图表上同时显示结果数据。例如:用户给出一个值作为输入,必须向服务器进行查询以根据用户输入过滤表并将结果集提供给 nbacj。

我在表上实现一个过滤器,然后将过滤后的结果集绑定(bind)到表上。我写了下面的代码,效果很好。

var oModel = new sap.ui.model.odata.ODataModel( "../TEST_ODATA.xsodata",false);  
oTable.setModel(oModel);
var oFilter=new sap.ui.model.Filter("SUPPLIERID",sap.ui.model.FilterOperator.EQ,oInput1.getValue());
oTable.getBinding("rows").filter(oFilter);
var NumberOfRows = oTable.getBinding("rows").iLength;
oTable.setTitle("Title1" + "(" + NumberOfRows + ")");
oTable.placeAt("content");

现在我也需要将 offilter 绑定(bind)到图表,我编写了以下不起作用的代码。

var oDataset = new sap.viz.ui5.data.FlattenedDataset({  
dimensions : [{axis : 1, name : 'SUPPLIERID', value : "{SUPPLIERID}"},{axis : 2, name : 'MATERIALNUMBER', value : "{MATERIALNUMBER}"}],
measures : [{name : 'Result', value : '{Result}'}],
data : {
path : "/service_path"
}});

var oStackChart = new sap.viz.ui5.StackedColumn({
width : "80%",
height : "400px",
plotArea : {'colorPalette' : d3.scale.category20().range()},
title : {visible : true,text : 'Title2'},
dataset : oDataset});

oStackChart.setModel(oModel);
var oFilter=new sap.ui.model.Filter("SUPPLIERID",sap.ui.model.FilterOperator.EQ,oInput1.getValue());
oStackChart.getBinding("rows").filter(oFilter);
oStackChart.placeAt("content");

任何人都可以建议更改我的代码来这样做吗?请帮忙。

谢谢

最佳答案

您可以将过滤器添加到 FlattenedDataset,例如:

var oDataset = new FlattenedDataset({ // required by "sap/viz/ui5/data/FlattenedDataset"
dimensions: aDimensions,
measures: aMeasures,
data: {
path: sEntity,
filters: [ oFilter ],
parameters: {
select: 'ProductID,UnitPrice,Quantity'
}
}
});

请注意,我使用了参数来减少返回的列数。

关于javascript - SAPUI5 中的过滤器即,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21931561/

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