我已按照此1教程创建了一个带过滤的tableview。它工作得很好,但是教程中的代码使用已排序的数据创建一个新的SortedList(sortedData),并将其与comparotorproperty绑定到表视图,该视图最初使用ObservableList作为数据源。
SortedList<Record> sortedData = new SortedList<Record>(filteredData);
// 4. Bind the SortedList comparator to the TableView comparator.
sortedData.comparatorProperty().bind(tableView.comparatorProperty());
// 5. Add sorted (and filtered) data to the table.
tableView.setItems(sortedData);
在我的代码中,我还有一个饼图和条形图。他们还使用ObservableList作为数据源,所以我的问题是;如何将sortedData绑定到ObservableList?
我将数据传递给PieChart(和BarChart)的代码如下:
for (Record record : dataen) {
dataList.add(new PieChart.Data(record.getFieldMonth(), record.getFieldValue()));
}
其中record是具有Getters和Setter的类。
答案 0 :(得分:1)
所以你想把ObservableList<Record>
变成ObservableList<PieChart.Data>
,对吗?为此,您可以使用EasyBind:
ObservableList<PieChart.Data> chartData = EasyBind.map(sortedData,
r -> new PieChart.Data(r.getFieldMonth(), r.getFieldValue()));
pieChart.setData(chartData);