gpt4 book ai didi

jsf - 如何在 pe :gcharts 中指定列类型

转载 作者:行者123 更新时间:2023-12-04 19:48:43 24 4
gpt4 key购买 nike

简单的问题,但我想不出答案。

在普通的 GCharts 中,我有这个:

var data = new google.visualization.DataTable();
data.addColumn('datetime', 'Time');
data.addColumn('number', 'Value 1');
data.addColumn('number', 'Value 2');

但是,如何使用 PrimerFaces 的模型构建器指定值是 datetimenumber

.addColumns() 方法只是将项目添加为 List<String> :

GChartModelBuilder lineChartModelBuilder = new GChartModelBuilder();
lineChartModelBuilder.setChartType(GChartType.LINE);
lineChartModelBuilder.addColumns("Time");
lineChartModelBuilder.addColumns("Value 1");
lineChartModelBuilder.addColumns("Value 2");

谢谢!

最佳答案

我假设您使用的是非常旧的 PF Extensions 版本?我之所以这么说是在 2016 年,它被固定使用 List<Object>而不是 List<String>并在 PrimeFaces Extensions 6.1 或更高版本中发布。

最新版本的代码可以在这里看到:https://github.com/primefaces-extensions/core/blob/master/src/main/java/org/primefaces/extensions/component/gchart/model/GChartModelBuilder.java

2016 年修复:https://github.com/primefaces-extensions/core/commit/6c473bbc50920bfdaedca02b918c29a5ead8d4d0#diff-f3a907dcc2d19626bf60db5bbebba6be

更新:

如果您想使用键值对添加数据,应该可以。由于 GChart 使用 Google GSON将 Java 代码转换为 JSON 发送给客户端,我想如果您在字段中放置一个字符串数组值,它会像您期望的那样反序列化。

创建一个表示列的 POJO:

public class GChartModelColumn {

// column label
private final String label;

// column type: number, date, datetime
private final String type;

public GChartModelColumn(String label, String type) {
super();
this.label = label;
this.type = type;
}

public String getLabel() {
return label;
}
public String getType() {
return type;
}
}

然后使用上面的模型添加列,例如...

lineChartModelBuilder.addColumns(
new GChartModelColumn("Time", "datetime"),
new GChartModelColumn("Value 1", "number"),
new GChartModelColumn("Value 2", "number"));

然后在 JS 代码中它将您的数据对象转换为 Google DataTable .

var dataTable = google.visualization.arrayToDataTable(this.data);

关于jsf - 如何在 pe :gcharts 中指定列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55196186/

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