¿Cómo puedo crear un encabezado de columna nested / dividido usando TornadoFx?

Estoy creando una vista de tabla que tiene 4 encabezados principales, y cada encabezado tiene una propiedad de "costos" y "unidades". ejemplo de encabezados

En JavaFx simple, puede agregar columnas a columnas y hacer esta split:

TableColumn emailCol = new TableColumn("Email"); TableColumn firstEmailCol = new TableColumn("Primary"); TableColumn secondEmailCol = new TableColumn("Secondary"); emailCol.getColumns().addAll(firstEmailCol, secondEmailCol); 

¿Es posible hacer esto en tornadoFX?

Usted crea columnas anidadas en TornadoFX usando el constructor nestedColumn :

 nestedColumn("header1") { column("costs", Item::costsProperty) column("units", Item::unitsProperty) } 

Además de crear las columnas, este código también crea un valueFactory para cada columna 🙂

Otra cosa muy importante a tener en count, es que puede hacer absolutamente todo lo que puede hacer en JavaFX dentro de TornadoFX. TornadoFX nunca oculta las API subyacentes de JavaFX, así que incluso si no nestedColumn un constructor de nestedColumn , podrías haber usado tu código exacto arriba, solo con la syntax de Kotlin, y simplemente funcionaría.

Si alguna vez tocas un caso en el que no sabes cómo hacer algo en TornadoFX, siempre puedes usar el enfoque JavaFX tradicional para lograr lo mismo 🙂

  • ¿Cómo puedo refactorizar una vista para permitir el filtrado de elementos vinculados a un observable ArrayList dentro de una aplicación tornadofx?
  • TornadoFX cómo agregar validation al editar TableView
  • Cómo inyectar ItemViewModel en tornadoFx
  • Animación consecutiva en TornadoFX?
  • TableView de Tornadofx usando comboBox y agregando FXEvent en los botones
  • ¿Cómo agregar leyenda secundaria al gráfico JavaFX?
  • TornadoFX - Creación de un layout MVP
  • Tornadofx Javafx - Cómo volver a cargar una vista / componente
  • El text de la label no se actualiza aunque el hilo de la interfaz de usuario parece responder
  • Tornadofx - Cómo pasar el parámetro a Fragment en cada instancia
  • La compilation de Gradle no puede encontrar tornadofx en Linux