Вы не можете получить доступ ни к чему, кроме возвращаемого значения получателя / значения, заключенного в свойство, возвращаемое получателем свойства с помощью PropertyValueFactory
.Вам нужно написать собственную реализацию cellValueFactory
.
Предполагая, что в Vaca
есть метод getOrdenha()
, возвращающий float[]
массивы длиной не менее concurso.getQtdOrdenhas()
:
TableColumn<Vaca, Number>[] colunasOrdenhas = new TableColumn[concurso.getQtdOrdenhas()];
for (int i = 0; i < concurso.getQtdOrdenhas(); i++) {
colunasOrdenhas[i] = new TableColumn<>((i+1) + "ª ordenha");
final int index = i;
colunasOrdenhas[i].setCellValueFactory(cd -> new SimpleFloatProperty(cd.getValue().getOrdenha()[index]));
}
cd.getValue()
возвращает элемент строки, чтобы вы могли использовать любой другой способ получения значения для отображения, если приведенные выше предположения неверны.Если тип столбца отличается, вы можете использовать другую реализацию ObservableValue
для переноса значения.