Cómo mostrar una lista en la columna de la tabla, con pocos campos de elementos de la lista
ACTUALIZAR: Esta pregunta se trasladó aTableColumn solo debe mostrar un valor específico de un tipo de datos complejo porque es más específico
Quiero llenar una tabla con un tipo de datos complejoPerson
que contienename
, id
y unList<Person>
. Por el momento me sale una mesa con el correctoname
, id
y una tercera columna con toda la información de otrosPerson
s pero solo debe mostrar el nombre delPersons
s. ¿Hay alguna manera de que mi tercera columna muestre solo elPerson.getName()
¿valores?
Palabras clave, soluciones bienvenidas! ¡Muchas gracias!
Editar: Código
Person.class
public class Person {
String id;
String name;
List<Person> friends;
public String getId() {...}
public String getName() {....}
public List<Person> getFriends {...}
}
TableView.class
public TableView<Person> createTable() {
TableColumn<Person, String> firstCol = new TableColumn<>("ID");
TableColumn<Person, String> secondCol = new TableColumn<>("Name");
TableColumn<Person, List<Person> thirdCol = new TableColumn<>("Friends");
PropertyValueFactory<Person, String> firstColFactory = new PropertyValueFactory<>(
"id");
PropertyValueFactory<Person, String> secondColFactory = new PropertyValueFactory<>(
"name");
PropertyValueFactory<Person, List<Person>> thirdColFactory = new PropertyValueFactory<>(
"friends");
firstCol.setCellValueFactory(firstColFactory);
secondCol.setCellValueFactory(secondColFactory);
thirdCol.setCellValueFactory(thirdColFactory);
myTableView.getColumns().addAll(firstCol, secondCol, thirdCol);
}
Entonces si lleno la mesaid
yname
-colums contienen el nombre correcto y la tercera columna (conList<Person>
) muestra[Person [id1, John, ...]...]]
. Y ahora quiero preguntar si existe la posibilidad de que la tercera columna solo muestreid
oname
sin manipular los datos?